{"version":3,"sources":["webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./@core/components/AppModalV2.vue?7c6a","webpack:///./node_modules/randomstring/lib/randomstring.js","webpack:///./node_modules/randomstring/lib/charset.js","webpack:///./@core/pages/recruit/forms/DeclarationBusinessInterest.vue?06e2","webpack:///./@core/pages/recruit/forms/DeclarationBusinessInterestMixin.ts","webpack:///./@core/pages/recruit/forms/DeclarationBusinessInterest.vue","webpack:///./@core/pages/recruit/forms/DeclarationBusinessInterest.vue?00be","webpack:///./@core/pages/recruit/forms/DeclarationBusinessInterest.vue?9f0a","webpack:///./node_modules/randomstring/index.js","webpack:///./@core/components/AppModalV2.vue?f088","webpack:///./@core/components/AppModalV2.vue","webpack:///./@core/components/AppModalV2.vue?fb8c","webpack:///./@core/components/AppModalV2.vue?a451","webpack:///./@core/components/LoadingSpinner.vue?035a","webpack:///./@core/components/LoadingSpinner.vue","webpack:///./@core/components/LoadingSpinner.vue?2382","webpack:///./@core/components/LoadingSpinner.vue?9003","webpack:///./@core/model/recruit/AllForms.ts","webpack:///./@core/pages/recruit/forms/FormBaseMixin.ts","webpack:///./@core/components/LoadingSpinner.vue?81b0","webpack:///./@core/assets/myinfo-icon.svg","webpack:///./node_modules/randomstring/node_modules/randombytes/browser.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./@core/pages/recruit/forms/DeclarationBusinessInterest.vue?2e09","webpack:///./@core/components/AppForm.vue?baa9","webpack:///./@core/components/AppDatatable.vue?fa4e","webpack:///./@core/components/AppDatatable.vue","webpack:///./@core/components/AppDatatable.vue?a0c0","webpack:///./@core/components/AppDatatable.vue?89f0","webpack:///./@core/components/AppCurrencyNA.vue?af5e","webpack:///./node_modules/randomstring/node_modules/array-uniq/index.js","webpack:///./@core/components/AppDatatable.vue?8f2d","webpack:///./@core/components/AppForm.vue?4190","webpack:///./@core/components/AppCurrencyNA.vue?2c19","webpack:///./@core/components/AppCurrencyNA.vue","webpack:///./@core/components/AppCurrencyNA.vue?4219","webpack:///./@core/components/AppCurrencyNA.vue?6502","webpack:///./@core/components/AppForm.vue","webpack:///./@core/components/AppForm.vue?cec5","webpack:///./@core/components/AppForm.vue?3db6"],"names":["module","exports","Object","is","x","y","randomBytes","Charset","unsafeRandomBytes","length","stack","i","push","Math","floor","random","readUInt8","index","safeRandomBytes","e","processString","buf","initialString","chars","reqLen","maxByte","string","randomByte","charAt","getAsyncString","cb","err","generatedString","generate","options","charset","setType","capitalization","setcapitalization","readable","removeUnreadable","removeDuplicates","charsLen","ceil","arrayUniq","this","prototype","type","numbers","charsLower","charsUpper","toUpperCase","hexChars","binaryChars","octalChars","unreadableChars","replace","toLowerCase","charMap","split","join","render","_vm","_h","$createElement","_c","_self","staticClass","_e","attrs","bisoInfoStructure","formData","data","showError","formDataErrors","_v","biInfoStructure","_m","soInfoStructure","directives","name","rawName","value","expression","domProps","Array","isArray","agree","_i","on","$event","$$a","$$el","target","$$c","checked","$$v","$$i","$set","concat","slice","agreeErrMsg","staticRenderFns","BusinessInterestShareholding","label","key","buttonName","displayDirection","show","biRole","find","msg","FormBaseMixin","component","class","showModal","_t","$emit","_s","shared","Shared","personal","Personal","qualificationEmployment","QualificationEmployment","generalDeclaration","GeneralDeclaration","fitProper","FitAndProper","bdm","BDMAssessment","bis","cpf","CPFAuthorization","ec","EmployerConsent","lou","LetterOfUndertaking","nco","NameCardOrder","pei","PrevEmploymentInquiry","rma","RecruitManagerAssessment","rsr","RecruitSubsidyReimbursement","sd","SecuritiesDealing","tra","TransferRulesAcknowledgement","dc","DeclarationClauses","formType","FormBase","targetKey","keys","formKey","alert","forms","forEach","form","formModel","extractAndAssign","values","map","error","flat","FormsList","formConfig","model","displayName","filter","recruitFormStore","allForms","loading","recruitDetails","getForm","$router","currentRoute","params","recruitAccountOid","configs","formName","$store","getters","currentUser","se","first","ele","document","getElementById","scrollIntoView","behavior","$api","update","then","res","setForms","finally","State","Mutation","components","AppForm","AppFormTable","AppDatatable","LoadingSpinner","AppModal","oldBrowser","Error","crypto","global","msCrypto","size","rawBytes","Uint8Array","getRandomValues","bytes","Buffer","buffer","process","nextTick","call","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","toString","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","RegExp","rx","S","done","previousLastIndex","lastIndex","result","ref","currentPageData","hasNoError","selectionKey","tableRowClassName","sortChange","rowClick","handleSelection","_l","column","field","sortable","scopedSlots","_u","fn","scope","row","modifiers","$$selectedVal","o","selected","val","_value","multiple","handleCustomEvent","option","_n","$forceUpdate","decimal","disabled","convertToCurrency","button","shouldDisabled","stopPropagation","infoFrom","infoTo","total","currentPage","pageSizesDisplay","pageSize","pageChange","handleSizeChange","pageSizes","sortBy","prop","order","sizes","lastSize","round","search","searchKeyword","trim","filters","JSON","stringify","includes","filteredData","sort","a","b","sortedData","every","emit","redirect","window","location","href","rows","appdatatable","$refs","clearSelection","currencySymbol","Number","toLocaleString","minimumFractionDigits","maximumFractionDigits","clearCheckboxOnHeader","default","AppDecimalNumber","uniqNoSet","arr","ret","indexOf","uniqSet","seen","Set","el","has","add","uniqSetWithForEach","doesForEachActuallyWork","style","structure","shouldShow","getCustomClass","hasErrors","focusId","getId","focusInner","getTestId","labelModelValue","labelModel","get","set","labelKey","composing","tooltip","eidx","full","fullErr","slot","optionCols","multiLimit","cycleMode","setValue","blurHandler","getValue","checkboxColumnNo","compact","isMyInfo","getLabelId","setSelectValue","maxChar","currencyFormat","precision","futureDate","disabledFutureDate","isVertical","maxSize","columns","getValueForTable","remove","maxLength","counterMsg","isModernTheme","maxlength","numberAndNAOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","number","convertCurrencyToNumber","remainingChar","evt","event","charCode","which","keyCode","currentValue","isAlphabetN","isNonNumber","preventDefault","charCodeAt","isAlphabetA","formatValue","isNaN","source","useCurrency","currencyPrefix","currency","replaceAll","projectInfo","inputValue","minimal","structures","errors","charLeft","getCharLeft","getCounterMsg","gridTemplateColumns","projectSettings","theme","condition","readOnly","Function","input","oriValue","String","labelValue","selectedOption","selectedIndex","onChange","ex","uniqueID","snakeCaseKey","curAppForm","$el","hasOverflow","scrollWidth","clientWidth","eleId","focus","mc","classes","swe","s","block","arrangeCols","addEventListener","Date","now","deep","AppSmartSelect","AppCheckboxGroup","AppRadioSelection","AppDateInput","AppCurrencyNA","AppTooltip"],"mappings":"mGAGAA,EAAOC,QAAUC,OAAOC,IAAM,SAAYC,EAAGC,GAE3C,OAAOD,IAAMC,EAAU,IAAND,GAAW,EAAIA,IAAM,EAAIC,EAAID,GAAKA,GAAKC,GAAKA,I,kCCL/D,W,oCCEA,IAAIC,EAAc,EAAQ,QACtBC,EAAU,EAAQ,QAGtB,SAASC,EAAkBC,GAEzB,IADA,IAAIC,EAAQ,GACHC,EAAI,EAAGA,EAAIF,EAAQE,IAC1BD,EAAME,KAAKC,KAAKC,MAAsB,IAAhBD,KAAKE,WAG7B,MAAO,CACLN,SACAO,UAAW,SAAUC,GACnB,OAAOP,EAAMO,KAKnB,SAASC,EAAgBT,GACvB,IACE,OAAOH,EAAYG,GACnB,MAAOU,GAEP,OAAOX,EAAkBC,IAI7B,SAASW,EAAcC,EAAKC,EAAeC,EAAOC,EAAQC,GAExD,IADA,IAAIC,EAASJ,EACJX,EAAI,EAAGA,EAAIU,EAAIZ,QAAUiB,EAAOjB,OAASe,EAAQb,IAAK,CAC7D,IAAIgB,EAAaN,EAAIL,UAAUL,GAC3BgB,EAAaF,IACfC,GAAUH,EAAMK,OAAOD,EAAaJ,EAAMd,SAG9C,OAAOiB,EAGT,SAASG,EAAeH,EAAQH,EAAOd,EAAQgB,EAASK,GACtDxB,EAAYG,GAAQ,SAASsB,EAAKV,GAC5BU,GAEFD,EAAGC,GAEL,IAAIC,EAAkBZ,EAAcC,EAAKK,EAAQH,EAAOd,EAAQgB,GAC5DO,EAAgBvB,OAASA,EAC3BoB,EAAeG,EAAiBT,EAAOd,EAAQgB,EAASK,GAExDA,EAAG,KAAME,MAKf/B,EAAQgC,SAAW,SAASC,EAASJ,GACnC,IAEIrB,EAFA0B,EAAU,IAAI5B,EAEiBmB,EAAS,GAGrB,kBAAZQ,GACTzB,EAAmC,kBAAnByB,EAAQzB,OAAsByB,EAAQzB,OAAS,GAE3DyB,EAAQC,QACVA,EAAQC,QAAQF,EAAQC,SAGxBA,EAAQC,QAAQ,gBAGdF,EAAQG,gBACVF,EAAQG,kBAAkBJ,EAAQG,gBAGhCH,EAAQK,UACVJ,EAAQK,mBAGVL,EAAQM,oBAEkB,kBAAZP,GACdzB,EAASyB,EACTC,EAAQC,QAAQ,kBAGhB3B,EAAS,GACT0B,EAAQC,QAAQ,iBAIlB,IAAIM,EAAWP,EAAQZ,MAAMd,OACzBgB,EAAU,IAAO,IAAMiB,EAE3B,IAAKZ,EAAI,CACP,MAAOJ,EAAOjB,OAASA,EAAQ,CAC7B,IAAIY,EAAMH,EAAgBL,KAAK8B,KAAc,IAATlC,EAAegB,IACnDC,EAASN,EAAcC,EAAKK,EAAQS,EAAQZ,MAAOd,EAAQgB,GAG7D,OAAOC,EAGTG,EAAeH,EAAQS,EAAQZ,MAAOd,EAAQgB,EAASK,K,8CCvGzD,IAAIc,EAAY,EAAQ,QAExB,SAASrC,IACPsC,KAAKtB,MAAQ,GAGfhB,EAAQuC,UAAUV,QAAU,SAASW,GACnC,IAAIxB,EAEAyB,EAAc,aACdC,EAAc,6BACdC,EAAcD,EAAWE,cACzBC,EAAc,SACdC,EAAc,KACdC,EAAc,WAGhB/B,EADW,iBAATwB,EACMC,EAAUC,EAAaC,EAEf,YAATH,EACCC,EAEQ,eAATD,EACCE,EAAaC,EAEL,QAATH,EACCC,EAAUI,EAEF,WAATL,EACCM,EAEQ,UAATN,EACCO,EAGAP,EAGVF,KAAKtB,MAAQA,GAGfhB,EAAQuC,UAAUN,iBAAmB,WACnC,IAAIe,EAAkB,UACtBV,KAAKtB,MAAQsB,KAAKtB,MAAMiC,QAAQD,EAAiB,KAGnDhD,EAAQuC,UAAUR,kBAAoB,SAASD,GACtB,cAAnBA,EACFQ,KAAKtB,MAAQsB,KAAKtB,MAAM4B,cAEE,cAAnBd,IACPQ,KAAKtB,MAAQsB,KAAKtB,MAAMkC,gBAI5BlD,EAAQuC,UAAUL,iBAAmB,WACnC,IAAIiB,EAAUb,KAAKtB,MAAMoC,MAAM,IAC/BD,EAAUd,EAAUc,GACpBb,KAAKtB,MAAQmC,EAAQE,KAAK,KAG5B5D,EAAOC,QAAoBM,G,2CC7D3B,IAAIsD,EAAS,WAAa,IAAIC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAAEL,EAAW,QAAEG,EAAG,kBAAkBH,EAAIM,KAAKH,EAAG,UAAU,CAACI,MAAM,CAAC,WAAaP,EAAIQ,kBAAkB,MAAQR,EAAIS,SAASC,KAAK,OAASV,EAAIW,UAAUX,EAAIY,eAAe,MAAMT,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACL,EAAIa,GAAG,mCAAmCV,EAAG,UAAU,CAACI,MAAM,CAAC,WAAaP,EAAIc,gBAAgB,MAAQd,EAAIS,SAASC,KAAK,OAASV,EAAIW,UAAUX,EAAIY,eAAe,MAAMT,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACL,EAAIa,GAAG,wCAAwCb,EAAIe,GAAG,GAAGZ,EAAG,UAAU,CAACI,MAAM,CAAC,WAAaP,EAAIgB,gBAAgB,MAAQhB,EAAIS,SAASC,KAAK,OAASV,EAAIW,UAAUX,EAAIY,eAAe,MAAMT,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACL,EAAIa,GAAG,yBAAyBb,EAAIe,GAAG,GAAGZ,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACF,EAAG,QAAQ,CAACc,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOpB,EAAIS,SAASC,KAAU,MAAEW,WAAW,wBAAwBd,MAAM,CAAC,KAAO,WAAW,GAAK,SAASe,SAAS,CAAC,QAAUC,MAAMC,QAAQxB,EAAIS,SAASC,KAAKe,OAAOzB,EAAI0B,GAAG1B,EAAIS,SAASC,KAAKe,MAAM,OAAO,EAAGzB,EAAIS,SAASC,KAAU,OAAGiB,GAAG,CAAC,OAAS,SAASC,GAAQ,IAAIC,EAAI7B,EAAIS,SAASC,KAAKe,MAAMK,EAAKF,EAAOG,OAAOC,IAAIF,EAAKG,QAAuB,GAAGV,MAAMC,QAAQK,GAAK,CAAC,IAAIK,EAAI,KAAKC,EAAInC,EAAI0B,GAAGG,EAAIK,GAAQJ,EAAKG,QAASE,EAAI,GAAInC,EAAIoC,KAAKpC,EAAIS,SAASC,KAAM,QAASmB,EAAIQ,OAAO,CAACH,KAAaC,GAAK,GAAInC,EAAIoC,KAAKpC,EAAIS,SAASC,KAAM,QAASmB,EAAIS,MAAM,EAAEH,GAAKE,OAAOR,EAAIS,MAAMH,EAAI,UAAYnC,EAAIoC,KAAKpC,EAAIS,SAASC,KAAM,QAASsB,OAAU7B,EAAG,QAAQ,CAACI,MAAM,CAAC,IAAM,UAAU,CAACP,EAAIa,GAAG,gCAAiCb,EAAIW,WAAaX,EAAIuC,YAAapC,EAAG,OAAO,CAACE,YAAY,wBAAwBL,EAAIM,UAAU,IAC5tDkC,EAAkB,CAAC,WAAa,IAAIxC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACH,EAAIa,GAAG,+EAA+EV,EAAG,IAAI,CAACH,EAAIa,GAAG,gBAAgBb,EAAIa,GAAG,qGAAqG,WAAa,IAAIb,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIa,GAAG,keAAkeV,EAAG,KAAK,CAACH,EAAIa,GAAG,kF,sHCMp6B,EAAb,yG,0BACY,EAAA5B,KAAOwD,EAAA,KADnB,wDAGE,WACE,MAAO,CACL,CACEC,MAAO,mBACPC,IAAK,iBACLC,WAAY,iBACZ3D,KAAM,QACN4D,iBAAkB,MAClBzE,QAAS,QAEX,CACEsE,MAAO,YACPC,IAAK,gBACLC,WAAY,gBACZ3D,KAAM,QACN4D,iBAAkB,MAClBzE,QAAS,WAnBjB,2BAwBE,WACE,MAAO,CACL,CACEsE,MAAO,mEACPC,IAAK,SACLC,WAAY,SACZ3D,KAAM,QAENb,QAAS,QAEX,CACEsE,MAAO,iBACPC,IAAK,gBAEP,CACED,MAAO,kDACPC,IAAK,mBAEP,CACED,MAAO,qBACPC,IAAK,kBAEP,CACED,MAAO,kBACPC,IAAK,SACLC,WAAY,eACZ3D,KAAM,QAGNb,QAAS,QAEX,CACEsE,MAAO,eACPC,IAAK,kBACLG,KAAsE,WAA/D/D,KAAK0B,SAA0CC,KAAKqC,QAE7D,CACEL,MAAO,8EACPC,IAAK,kBACL1D,KAAM,WA/Dd,2BAoEE,WACE,MAAO,CACL,CACEyD,MAAO,iBACPC,IAAK,iBAEP,CACED,MAAO,kDACPC,IAAK,oBAEP,CACED,MAAO,qBACPC,IAAK,mBAEP,CACED,MAAO,gCACPC,IAAK,mBACL1D,KAAM,QAER,CACEyD,MAAO,+DACPC,IAAK,gBACL1D,KAAM,aA1Fd,uBA+FE,WAAe,QACb,iBAAOF,KAAK6B,sBAAZ,iBAAO,EAAqBoC,MAAK,SAAA/E,GAAG,MAAgB,UAAZA,EAAI0E,cAA5C,aAAO,EAAuDM,QAhGlE,GAAsDC,EAAA,MAAzC,EAAgC,gBAD5C,QACY,G,IC8BQ,E,qIAAoC,eAAO,ICrC0X,I,wBCQtbC,EAAY,eACd,EACApD,EACAyC,GACA,EACA,KACA,WACA,MAIa,aAAAW,E,qDCnBfjH,EAAOC,QAAU,EAAQ,S,6DCAzB,IAAI4D,EAAS,WAAa,IAAIC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,eAAe,CAACJ,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,MAAM,CAACE,YAAY,gBAAgBE,MAAM,CAAC,KAAO,WAAW,CAACJ,EAAG,MAAM,CAACE,YAAY,kBAAkB+C,MAAM,CAAEN,KAAO9C,EAAIqD,YAAa,CAAClD,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACL,EAAIsD,GAAG,UAAS,WAAW,MAAO,CAACtD,EAAIa,GAAG,wBAAuBV,EAAG,SAAS,CAACE,YAAY,YAAYsB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuD,MAAM,YAAY,CAACpD,EAAG,IAAI,CAACE,YAAY,oBAAoB,GAAGF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACL,EAAIsD,GAAG,QAAO,WAAW,MAAO,CAACtD,EAAIa,GAAG,uBAAsB,GAAGV,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACL,EAAIsD,GAAG,WAAW,YAC3sBd,EAAkB,G,wEC+BD,EAArB,yG,0BACY,EAAAa,WAAY,EADxB,gDAGE,WACEtE,KAAKwE,MAAM,QACXxE,KAAKsE,WAAY,IALrB,uBAQE,WACEtE,KAAKwE,MAAM,aATf,GAAsC,QAAjB,EAAQ,gBAD5B,QACoB,WChCgX,I,wBCQjYJ,EAAY,eACd,EACApD,EACAyC,GACA,EACA,KACA,WACA,MAIa,OAAAW,E,6CCnBf,IAAIpD,EAAS,WAAa,IAAIC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,MAAM,CAACE,YAAY,WAAWE,MAAM,CAAC,QAAU,gBAAgB,CAACJ,EAAG,SAAS,CAACE,YAAY,OAAOE,MAAM,CAAC,GAAK,KAAK,GAAK,KAAK,EAAI,KAAK,KAAO,YAAYJ,EAAG,MAAM,CAACH,EAAIa,GAAGb,EAAIwD,GAAGxD,EAAIiD,eACnZT,EAAkB,G,4DCeD,EAArB,qIAA4C,QAClC,gBAAP,kB,0BADkB,EAAc,gBADlC,QACoB,WChBoX,I,wBCQrYW,EAAY,eACd,EACApD,EACAyC,GACA,EACA,KACA,WACA,MAIa,OAAAW,E,2jBCEF,EAAb,+CACE,KAAAM,OAAS,IAAIC,EAAA,KACb,KAAAC,SAAW,IAAIC,EAAA,KACf,KAAAC,wBAA0B,IAAIC,EAAA,KAC9B,KAAAC,mBAAqB,IAAIC,EAAA,KACzB,KAAAC,UAAY,IAAIC,EAAA,KAEhB,KAAAC,IAAM,IAAIC,EAAA,KACV,KAAAC,IAAM,IAAI5B,EAAA,KACV,KAAA6B,IAAM,IAAIC,EAAA,KACV,KAAAC,GAAK,IAAIC,EAAA,KACT,KAAAC,IAAM,IAAIC,EAAA,KACV,KAAAC,IAAM,IAAIC,EAAA,KACV,KAAAC,IAAM,IAAIC,EAAA,KACV,KAAAC,IAAM,IAAIC,EAAA,KACV,KAAAC,IAAM,IAAIC,EAAA,KACV,KAAAC,GAAK,IAAIC,EAAA,KACT,KAAAC,IAAM,IAAIC,EAAA,KACV,KAAAC,GAAK,IAAIC,EAAA,KAlBX,8CAoBE,SAASC,GAAyB,WAChC,IAAKA,EAAU,OAAO,IAAIC,EAAA,KAC1B,IAAMC,EAAYxJ,OAAOyJ,KAAK9G,MAAMiE,MAAK,SAAC8C,GACxC,OAAO,EAAKA,aAAoBJ,KAGlC,OADKE,GAAWG,MAAM,+CAAD,OAAgDL,IAC9D3G,KAAK6G,KA1BhB,8BA6BE,SAAkBI,GAAY,WAE5BA,EAAMC,SAAQ,SAACC,GACb9J,OAAOyJ,KAAK,GAAMI,SAAQ,SAACH,GACzB,IAAMK,EAAY,EAAKL,GACjBK,aAAqBR,EAAA,MACvBQ,EAAUlH,OAASiH,EAAKjH,MAC5BkH,EAAUC,iBAAiBF,WApCnC,oBA+CE,WACE,OAAO9J,OAAOiK,OAAOtH,MAAMuH,KAAI,SAACJ,GAC9B,OAAOA,EAAKK,SACXC,SAlDP,qBAqDE,WAAa,WACX,OAAOpK,OAAOyJ,KAAK9G,MAAMuH,KAAI,SAACR,GAC5B,KAAM,EAAKA,aAAoBH,EAAA,MAAW,OAAO,KACjD,IAAM5D,EAAS0E,EAAA,KAAUzD,MAAK,SAAA0D,GAAU,OAAI,EAAKZ,aAAoBY,EAAWC,SAChF,OAAO5E,EAAS,CAAEW,MAAOX,EAAO6E,YAAaxF,MAAO,EAAK0E,GAAS7G,MAAS,QAC1E4H,QAAO,SAAAX,GAAI,OAAa,OAATA,OA1DtB,mBA6DE,WAAW,WACT,OAAO9J,OAAOyJ,KAAK9G,MAAMuH,KAAI,SAACR,GAC5B,KAAM,EAAKA,aAAoBH,EAAA,MAAW,OAAO,KACjD,IAAM5D,EAAS0E,EAAA,KAAUzD,MAAK,SAAA0D,GAAU,OAAI,EAAKZ,aAAoBY,EAAWC,SAChF,OAAO5E,EAAS,iCACXA,GACA,EAAK+D,IACN,QACHe,QAAO,SAAAX,GAAI,OAAa,OAATA,SArEtB,K,YCNMY,EAAmB,eAAU,oBAUtB,EAAb,yG,0BAgBY,EAAA7H,KAAO,KACP,EAAA8H,SAAqB,IAAI,EACzB,EAAAC,SAAU,EACV,EAAArG,WAAY,EACZ,EAAAsG,eAAiB,KApB7B,+CAsBE,WACE,OAAOlI,KAAKiH,MAAMkB,QAAQnI,KAAKE,QAvBnC,0BA0BE,WACE,OAAOF,KAAK0B,SAAS8F,QA3BzB,6BA8BE,WACE,OAAOxH,KAAKoI,QAAQC,aAAaC,OAAOC,oBA/B5C,oBAkCE,WACE,OAAOvI,KAAKoI,QAAQC,aAAalG,OAnCrC,sBAsCE,WAAc,WACZ,OAAOnC,KAAKgI,SAASQ,QAAQvE,MAAK,SAAAkD,GAAI,OAAIA,EAAKhF,OAAS,EAAKsG,cAvCjE,oBA0CE,WAAY,MACV,iBAAOzI,KAAK2H,kBAAZ,aAAO,EAAiBzH,OA3C5B,uBA8CE,WACE,OAAOF,KAAK0I,OAAOC,QAAQC,cA/C/B,wBAmDE,SAAYC,GACV,GAAKA,GACA7I,KAAK6B,gBAAmB7B,KAAK6B,eAAejE,OAAjD,CACA,IAAMkL,EAAQ9I,KAAK6B,eAAe,GAC5BkH,EAAMC,SAASC,eAAeH,EAAMlF,KACrCmF,GACLA,EAAIG,eAAe,CAAEC,SAAU,cAzDnC,kBA4DE,WAAI,WAGFnJ,KAAKiI,SAAU,EACfjI,KAAKoJ,KAAKnC,MAAMoC,OAAOrJ,KAAK0B,UAAU4H,MAAK,SAACC,GAC1C,GAAIA,GAAOA,EAAI/B,MAAO,OAAOR,MAAMuC,EAAI/B,OACvC,EAAKgC,SAAS,CAACD,OACdE,SAAQ,WACT,EAAKxB,SAAU,SApErB,GAAmC,QAEjC,gBADC,uB,kCAID,gBADC,uB,kCAID,gBADC,uB,2BAID,gBADCF,EAAiB2B,O,4BAIlB,gBADC3B,EAAiB4B,U,+BAsClB,gBADC,eAAM,c,yBAQN,MA1DU,EAAa,gBATzB,eAAU,CACTC,WAAY,CACVC,UAAA,KACAC,eAAA,KACAC,eAAA,KACAC,iBAAA,KACAC,SAAA,WAGS,I,oCCzBb,W,uBCAA9M,EAAOC,QAAU,IAA0B,gC,qCCA3C,gBAEA,SAAS8M,IACP,MAAM,IAAIC,MAAM,8GAGlB,IAAIC,EAASC,EAAOD,QAAUC,EAAOC,SAQrC,SAAS7M,EAAa8M,EAAMtL,GAE1B,GAAIsL,EAAO,MAAO,MAAM,IAAIJ,MAAM,mCAElC,IAAIK,EAAW,IAAIH,EAAOI,WAAWF,GAIjCA,EAAO,GACTH,EAAOM,gBAAgBF,GAGzB,IAAIG,EAAQ,IAAIC,EAAOJ,EAASK,QAEhC,MAAkB,oBAAP5L,EACF6L,EAAQC,UAAS,WACtB9L,EAAG,KAAM0L,MAINA,EA1BLP,GAAUA,EAAOM,gBACnBvN,EAAOC,QAAUK,EAEjBN,EAAOC,QAAU8M,I,qFCVnB,IAAIc,EAAO,EAAQ,QACfC,EAAgC,EAAQ,QACxCC,EAAW,EAAQ,QACnBC,EAAyB,EAAQ,QACjCC,EAAY,EAAQ,QACpBC,EAAW,EAAQ,QACnBC,EAAY,EAAQ,QACpBC,EAAa,EAAQ,QAGzBN,EAA8B,UAAU,SAAUO,EAAQC,EAAcC,GACtE,MAAO,CAGL,SAAgBC,GACd,IAAIC,EAAIT,EAAuBnL,MAC3B6L,OAAqBC,GAAVH,OAAsBG,EAAYR,EAAUK,EAAQH,GACnE,OAAOK,EAAWb,EAAKa,EAAUF,EAAQC,GAAK,IAAIG,OAAOJ,GAAQH,GAAQH,EAASO,KAIpF,SAAU/M,GACR,IAAImN,EAAKd,EAASlL,MACdiM,EAAIZ,EAASxM,GACb0K,EAAMmC,EAAgBD,EAAcO,EAAIC,GAE5C,GAAI1C,EAAI2C,KAAM,OAAO3C,EAAIlH,MAEzB,IAAI8J,EAAoBH,EAAGI,UACtBhB,EAAUe,EAAmB,KAAIH,EAAGI,UAAY,GACrD,IAAIC,EAASd,EAAWS,EAAIC,GAE5B,OADKb,EAAUY,EAAGI,UAAWD,KAAoBH,EAAGI,UAAYD,GAC9C,OAAXE,GAAmB,EAAIA,EAAOjO,Y,2DCjC3C,W,kCCAA,W,kCCAA,IAAI4C,EAAS,WAAa,IAAIC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,YAAY+C,MAAM,CAAC,OAAUpD,EAAI8C,KAAM,UAAa9C,EAAI8C,OAAO,CAAC3C,EAAG,WAAW,CAACc,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYC,MAAOpB,EAAW,QAAEqB,WAAW,YAAYgK,IAAI,eAAe9K,MAAM,CAAC,KAAOP,EAAIsL,gBAAgB,OAAStL,EAAIuL,WAAW,KAAO,OAAO,UAAUvL,EAAIwL,aAAa,iBAAiBxL,EAAIyL,kBAAkB,yBAAyB,eAAe9J,GAAG,CAAC,cAAc3B,EAAI0L,WAAW,YAAY1L,EAAI2L,SAAS,mBAAmB3L,EAAI4L,kBAAkB,CAAE5L,EAAgB,aAAEG,EAAG,kBAAkB,CAACI,MAAM,CAAC,KAAO,YAAY,qBAAoB,KAAQP,EAAIM,KAAKN,EAAI6L,GAAI7L,EAAW,SAAE,SAAS8L,GAAQ,MAAO,CAAEA,EAAc,QAAE3L,EAAG,kBAAkB,CAACwC,IAAImJ,EAAOC,MAAMxL,MAAM,CAAC,KAAOuL,EAAOC,MAAM,MAAQD,EAAOpJ,MAAM,MAAQ,SAAS,cAA+BmI,IAApBiB,EAAOE,UAAgCF,EAAOE,UAAUC,YAAYjM,EAAIkM,GAAG,CAAC,CAACvJ,IAAI,UAAUwJ,GAAG,SAASC,GAAO,MAAO,CAACjM,EAAG,SAAS,CAACc,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,eAAeC,MAAOgL,EAAMC,IAAIP,EAAOC,OAAQ1K,WAAW,0BAA0BiL,UAAU,CAAC,MAAO,KAAQ3K,GAAG,CAAC,OAAS,CAAC,SAASC,GAAQ,IAAI2K,EAAgBhL,MAAMvC,UAAU6H,OAAOkD,KAAKnI,EAAOG,OAAO3D,SAAQ,SAASoO,GAAG,OAAOA,EAAEC,YAAWnG,KAAI,SAASkG,GAAG,IAAIE,EAAM,WAAYF,EAAIA,EAAEG,OAASH,EAAEpL,MAAM,OAAOsL,KAAO1M,EAAIoC,KAAKgK,EAAMC,IAAKP,EAAOC,MAAOnK,EAAOG,OAAO6K,SAAWL,EAAgBA,EAAc,KAAK,SAAS3K,GAAQ,OAAO5B,EAAI6M,kBAAkBT,EAAMC,SAASrM,EAAI6L,GAAIC,EAAc,SAAE,SAASgB,EAAO3P,GAAO,OAAOgD,EAAG,SAAS,CAACwC,IAAIxF,EAAMmE,SAAS,CAAC,MAAQwL,EAAO1L,QAAQ,CAACpB,EAAIa,GAAGb,EAAIwD,GAAGsJ,EAAOpK,aAAY,OAAO,MAAK,KAASoJ,EAAW,KAAE3L,EAAG,kBAAkB,CAACwC,IAAImJ,EAAOC,MAAMxL,MAAM,CAAC,KAAOuL,EAAOC,MAAM,MAAQD,EAAOpJ,MAAM,MAAQ,SAAS,cAA+BmI,IAApBiB,EAAOE,UAAgCF,EAAOE,UAAUC,YAAYjM,EAAIkM,GAAG,CAAC,CAACvJ,IAAI,UAAUwJ,GAAG,SAASC,GAAO,MAAO,CAAgB,WAAdN,EAAO7M,KAAiB,CAACkB,EAAG,QAAQ,CAACc,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,sBAAsBC,MAAOgL,EAAMC,IAAIP,EAAOC,OAAQ1K,WAAW,0BAA0BiL,UAAU,CAAC,QAAS,EAAK,MAAO,KAAQ/L,MAAM,CAAC,KAAOuL,EAAO7M,MAAMqC,SAAS,CAAC,MAAS8K,EAAMC,IAAIP,EAAOC,QAASpK,GAAG,CAAC,OAAS,CAAC,SAASC,GAAQ5B,EAAIoC,KAAKgK,EAAMC,IAAKP,EAAOC,MAAO/L,EAAI+M,GAAGnL,EAAOG,OAAOX,SAAS,SAASQ,GAAQ,OAAO5B,EAAI6M,kBAAkBT,EAAMC,OAAO,KAAO,SAASzK,GAAQ,OAAO5B,EAAIgN,oBAAqC,mBAAhBlB,EAAO7M,KAA2B,CAACkB,EAAG,mBAAmB,CAACI,MAAM,CAAC,QAAUuL,EAAOmB,QAAQ,WAAab,EAAMC,IAAIP,EAAOC,OAAO,SAAWD,EAAOoB,aAA8B,aAAhBpB,EAAO7M,KAAqB,CAACkB,EAAG,QAAQ,CAACH,EAAIa,GAAGb,EAAIwD,GAAGxD,EAAImN,kBAAkBf,EAAMC,IAAIP,EAAOC,aAA8B,WAAhBD,EAAO7M,KAAmBe,EAAIsD,GAAG,UAAS,WAAW,OAAOtD,EAAI6L,GAAIC,EAAc,SAAE,SAASsB,EAAOjQ,GAAO,OAAOgD,EAAG,SAAS,CAACwC,IAAIxF,EAAMwE,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuD,MAAM6J,EAAQhB,EAAMC,QAAQ,CAACrM,EAAIa,GAAGb,EAAIwD,GAAG4J,YAAgC,uBAAhBtB,EAAO7M,KAA+Be,EAAIsD,GAAG,UAAS,WAAW,OAAOtD,EAAI6L,GAAIC,EAAc,SAAE,SAASsB,EAAOjQ,GAAO,OAAOgD,EAAG,SAAS,CAACwC,IAAIxF,EAAMoD,MAAM,CAAC,SAAW6M,EAAOC,gBAAgB1L,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuD,MAAM6J,EAAO1K,MAAO0J,EAAMC,QAAQ,CAACrM,EAAIa,GAAGb,EAAIwD,GAAG4J,EAAO1K,gBAAcvC,EAAG,QAAQ,CAACc,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,eAAeC,MAAOgL,EAAMC,IAAIP,EAAOC,OAAQ1K,WAAW,0BAA0BiL,UAAU,CAAC,MAAO,KAAQ/L,MAAM,CAAC,KAAOuL,EAAO7M,MAAMqC,SAAS,CAAC,MAAS8K,EAAMC,IAAIP,EAAOC,QAASpK,GAAG,CAAC,OAAS,CAAC,SAASC,GAAQ,OAAO5B,EAAIoC,KAAKgK,EAAMC,IAAKP,EAAOC,MAAOnK,EAAOG,OAAOX,QAAQ,SAASQ,GAAQ,OAAO5B,EAAI6M,kBAAkBT,EAAMC,cAAc,MAAK,KAAQlM,EAAG,kBAAkB,CAACwC,IAAImJ,EAAOC,MAAMxL,MAAM,CAAC,KAAOuL,EAAOC,MAAM,MAAQD,EAAOpJ,MAAM,MAAQ,SAAS,cAA+BmI,IAApBiB,EAAOE,UAAgCF,EAAOE,SAAS,yBAAwB,GAAMC,YAAYjM,EAAIkM,GAAG,CAAC,CAACvJ,IAAI,UAAUwJ,GAAG,SAASC,GAAO,MAAO,CAACjM,EAAG,MAAM,CAACH,EAAIa,GAAGb,EAAIwD,GAAG4I,EAAMC,IAAIP,EAAOC,eAAe,MAAK,SAAY/L,EAAY,SAAEG,EAAG,kBAAkB,CAACwC,IAAI,WAAWpC,MAAM,CAAC,KAAO,WAAW,MAAQ,SAAS,UAAW,GAAO0L,YAAYjM,EAAIkM,GAAG,CAAC,CAACvJ,IAAI,UAAUwJ,GAAG,SAASC,GAAO,MAAO,CAACjM,EAAG,MAAM,CAACwB,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO0L,kBAAyBtN,EAAIuD,MAAM,WAAY6I,EAAMC,QAAQ,CAAClM,EAAG,IAAI,CAACE,YAAY,mCAAmC,MAAK,EAAM,cAAcL,EAAIM,MAAM,GAAGH,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACL,EAAIa,GAAG,QAAQb,EAAIwD,GAAGxD,EAAIuN,UAAU,OAAOvN,EAAIwD,GAAGxD,EAAIwN,QAAQ,OAAOxN,EAAIwD,GAAGxD,EAAIyN,OAAO,cAActN,EAAG,gBAAgB,CAACI,MAAM,CAAC,eAAeP,EAAI0N,YAAY,MAAQ1N,EAAIyN,MAAM,uBAAsB,EAAM,aAAazN,EAAI2N,iBAAiB,YAAY3N,EAAI4N,SAAS,OAAS,mCAAmC,WAAa,IAAIjM,GAAG,CAAC,iBAAiB3B,EAAI6N,WAAW,cAAc7N,EAAI8N,qBAAqB,IAAI,IACtrJtL,EAAkB,G,gNCsID,EAArB,yG,0BAUU,EAAAuL,UAAY,CAAC,GAAI,GAAI,IAAK,IAAK,KAC/B,EAAAH,SAAW,GACX,EAAAF,YAAc,EACd,EAAAM,OAAe,CACrBC,KAAM,EAAKvN,KAAK,GAChBwN,MAAO,aAfX,uDAoBE,WAAoB,WAElB,GAAInP,KAAK0O,MAAQ1O,KAAKgP,UAAU,GAAI,MAAO,CAAChP,KAAKgP,UAAU,IAG3D,IAAMI,EAAQpP,KAAKgP,UAAUlH,QAAO,SAAAyC,GAAI,OAAIA,EAAO,EAAKmE,SAGlDW,EAA+C,IAAnCrR,KAAKsR,MAAMtP,KAAK0O,MAAQ,IAAM,GAGhD,OAFAU,EAAMrR,KAAKsR,GAEJD,IA/BX,wBAkCE,WACE,GAAI,yBAAYpP,KAAKuP,QAAS,OAAOvP,KAAK2B,KAE1C,IAAM6N,EAAgBxP,KAAKuP,OAAOE,OAAO7O,cACnCe,EAAQ3B,KAAK0P,SAAW1P,KAAK0P,QAAQ9R,OAAUoC,KAAK0P,QAAU1P,KAAK2B,KACzE,OAAOA,EAAKmG,QAAO,SAAAzF,GACjB,IAAMgK,EAASsD,KAAKC,UAAUvN,GAAOzB,cAAciP,SAASL,GAC5D,OAAOnD,OAzCb,sBA6CE,WAAc,WACN1K,EAAO3B,KAAK8P,aAAaC,MAAK,SAACC,EAAGC,GACtC,GAA0B,cAAtB,EAAKhB,OAAOE,MAAuB,CACrC,GAAIa,EAAE,EAAKf,OAAOC,MAAQe,EAAE,EAAKhB,OAAOC,MAAS,OAAO,EACxD,GAAIc,EAAE,EAAKf,OAAOC,MAAQe,EAAE,EAAKhB,OAAOC,MAAS,OAAQ,MACpD,CACL,GAAIc,EAAE,EAAKf,OAAOC,MAAQe,EAAE,EAAKhB,OAAOC,MAAS,OAAQ,EACzD,GAAIc,EAAE,EAAKf,OAAOC,MAAQe,EAAE,EAAKhB,OAAOC,MAAS,OAAO,EAE1D,OAAO,KAET,OAAOvN,IAxDX,2BA2DE,WACE,OAAO3B,KAAKkQ,WAAW3M,OAAOvD,KAAK2O,YAAc,GAAK3O,KAAK6O,SAAU7O,KAAK6O,SAAW7O,KAAK2O,eA5D9F,iBA+DE,WACE,OAAO3O,KAAK8P,aAAalS,SAhE7B,oBAmEE,WACE,OAAyB,IAArBoC,KAAK2O,aACC3O,KAAK2O,YAAc,GAAK3O,KAAK6O,SAAW,EAEzC7O,KAAK8P,aAAalS,OAAS,EAAI,IAvE5C,kBA2EE,WACE,OAAOoC,KAAKuM,gBAAgB3O,OAASoC,KAAK6O,SACtC7O,KAAK6O,UAAY7O,KAAK2O,YAAc,GAAK3O,KAAKuM,gBAAgB3O,OAC9DoC,KAAK6O,SAAW7O,KAAK2O,cA9E7B,sBAiFE,WACE,OAAO3O,KAAK2B,KAAKwO,OAAM,SAAA7R,GAAC,YAAgBwN,IAAZxN,EAAEkJ,WAlFlC,wBAqFE,SAAYmH,GACV3O,KAAK2O,YAAcA,EACnB3O,KAAKwE,MAAM,mBAAoBxE,KAAK2O,eAvFxC,wBA0FE,SAAYoB,GACV/P,KAAKiP,OAAOC,KAAOa,EAAKb,KACxBlP,KAAKiP,OAAOE,MAAQY,EAAKZ,OAAS,cA5FtC,sBA+FE,SAAU7B,GACJA,EAAI8C,MAAMpQ,KAAKwE,MAAM,iBAAkB8I,GACtCA,EAAI+C,WACTC,OAAOC,SAASC,KAAOlD,EAAI+C,YAlG/B,6BAqGE,SAAiBI,GACfzQ,KAAKwE,MAAM,kBAAmBiM,KAtGlC,+BAyGE,SAAmBnD,GACjBtN,KAAKwE,MAAM,oBAAqB8I,KA1GpC,+BA6GE,YAA0B,IAALA,EAAK,EAALA,IACnB,OAAIA,EAAI9F,MACC,cAEA,KAjHb,mCAqHE,WACE,IAAMkJ,EAAe1Q,KAAK2Q,MAAMD,aAC5B1Q,KAAKyM,cAAgBiE,GACvBA,EAAaE,mBAxHnB,8BA4HE,SAAkBjD,GAChB3N,KAAK6O,SAAWlB,IA7HpB,+BAgIE,SAAmBtL,GAA0B,IAAnBwO,EAAmB,uDAAF,GACzC,OAAKxO,GAAmB,IAAVA,EACPwO,EAAiBC,OAAOzO,GAAO0O,oBAAejF,EAAW,CAC9DkF,sBAAuB,EACvBC,sBAAuB,IAHS,KAjItC,qBAwIE,WACEjR,KAAKiP,OAASjP,KAAK+P,KACnB/P,KAAKkR,0BA1IT,oCA8IE,WACMlR,KAAK4Q,gBACP5Q,KAAKkR,4BAhJX,GAA0C,QAChC,gBAAP,kB,8BACO,gBAAP,kB,8BACO,gBAAP,kB,2BACO,gBAAP,kB,8BACO,gBAAP,kB,2BACO,gBAAP,kB,6BACwB,gBAAxB,eAAK,CAAEC,SAAS,K,2BACS,gBAAzB,eAAK,CAAEA,SAAS,K,+BACT,gBAAP,kB,mCASO,gBAAP,kB,qCA4HD,gBADC,eAAM,mB,qCAKN,MAlJkB,EAAY,gBALhC,eAAU,CACTvH,WAAY,CACVwH,mBAAA,SAGiB,WCvIkX,I,wBCQnYhN,EAAY,eACd,EACApD,EACAyC,GACA,EACA,KACA,WACA,MAIa,OAAAW,E,2CCnBf,W,iFCAA,YAKA,SAASiN,EAAUC,GAGlB,IAFA,IAAIC,EAAM,GAEDzT,EAAI,EAAGA,EAAIwT,EAAI1T,OAAQE,KACF,IAAzByT,EAAIC,QAAQF,EAAIxT,KACnByT,EAAIxT,KAAKuT,EAAIxT,IAIf,OAAOyT,EAIR,SAASE,EAAQH,GAChB,IAAII,EAAO,IAAIC,IACf,OAAOL,EAAIxJ,QAAO,SAAU8J,GAC3B,IAAKF,EAAKG,IAAID,GAEb,OADAF,EAAKI,IAAIF,IACF,KAMV,SAASG,EAAmBT,GAC3B,IAAIC,EAAM,GAMV,OAJA,IAAKI,IAAIL,GAAMpK,SAAQ,SAAU0K,GAChCL,EAAIxT,KAAK6T,MAGHL,EAKR,SAASS,IACR,IAAIT,GAAM,EAMV,OAJA,IAAKI,IAAI,EAAC,IAAQzK,SAAQ,SAAU0K,GACnCL,EAAMK,MAGQ,IAARL,EAGJ,QAASlH,EACyB,oBAA1BsH,IAAI1R,UAAUiH,SAA0B8K,IAClD7U,EAAOC,QAAU2U,EAEjB5U,EAAOC,QAAUqU,EAGlBtU,EAAOC,QAAUiU,I,wDC1DlB,W,kCCAA,IAAIrQ,EAAS,WAAa,IAAIC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,eAAe2Q,MAAOhR,EAAa,UAAEO,MAAM,CAAC,GAAK,aAAa,CAACP,EAAI6L,GAAI7L,EAAqB,mBAAE,SAASiR,GAAW,MAAO,CAAEjR,EAAIkR,WAAWD,EAAUnO,MAAO3C,EAAG,MAAM,CAACwC,IAAIsO,EAAUtO,IAAItC,YAAY,yBAAyB+C,MAAM,CAAC,CAAE,iBAAkBpD,EAAIqN,eAAe4D,EAAU/D,WAAYlN,EAAImR,eAAeF,IAAY1Q,MAAM,CAAC,UAAU0Q,EAAUG,UAAU,SAAWpR,EAAIqR,SAAWrR,EAAIsR,MAAML,EAAUtO,KAAK,GAAM,OAAU3C,EAAIsR,MAAML,EAAUtO,MAAQhB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuR,WAAWN,MAAc,CAAC,CAAEA,EAAoB,WAAE9Q,EAAG,QAAQ,CAACE,YAAY,QAAQE,MAAM,CAAC,KAAO,OAAO,YAAc0Q,EAAUvO,MAAM,YAAa,eAAkB1C,EAAIwR,UAAUP,EAAUtO,MAAQrB,SAAS,CAAC,MAAQtB,EAAIyR,gBAAgBR,EAAUS,WAAWC,QAAQhQ,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOqP,EAAUS,WAAWE,IAAIhQ,EAAOG,OAAOX,WAAY6P,EAAkB,SAAE9Q,EAAG,QAAQ,CAACc,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOpB,EAAI2G,MAAMsK,EAAUY,UAAWxQ,WAAW,8BAA8BhB,YAAY,QAAQE,MAAM,CAAC,KAAO,OAAO,YAAa,eAAkBP,EAAIwR,UAAUP,EAAUtO,MAAQrB,SAAS,CAAC,MAAStB,EAAI2G,MAAMsK,EAAUY,WAAYlQ,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOG,OAAO+P,WAAqB9R,EAAIoC,KAAKpC,EAAI2G,MAAOsK,EAAUY,SAAUjQ,EAAOG,OAAOX,WAAWpB,EAAIM,KAAM2Q,EAAUS,YAAcT,EAAUY,SAAU1R,EAAG,IAAI,CAACE,YAAY,iCAAqD,oBAAnB4Q,EAAUhS,KAA4BkB,EAAG,QAAQA,EAAG,QAAQ,CAACI,MAAM,CAAC,IAAMP,EAAIsR,MAAML,EAAUtO,KAAK,GAAK3C,EAAIsR,MAAML,EAAUtO,KAAO,UAAUrB,SAAS,CAAC,UAAYtB,EAAIwD,GAAGyN,EAAUvO,UAAWuO,EAAiB,QAAE9Q,EAAG,aAAa,CAACI,MAAM,CAAC,cAAgB0Q,EAAUc,WAAW/R,EAAIM,KAAMN,EAAiB,cAAEA,EAAI6L,GAAIoF,EAAgB,QAAE,SAAS5F,EAAI2G,GACxzD,IAAI/O,EAAMoI,EAAIpI,IACd,OAAO9C,EAAG,MAAM,CAACwC,IAAMsO,EAAa,IAAI,UAAYe,EAAM3R,YAAY,WAAW+C,MAAM,CACzE6O,KACW,IAATD,GAAchS,EAAIkS,UAAcjB,EAAa,IAAI,UAAYe,GAC/DrQ,GAAG,CAAC,MAAQ,SAASC,GAAQ5B,EAAIkS,QAAWjB,EAAa,IAAI,UAAYe,KAAQ,CAAC7R,EAAG,aAAa,CAACA,EAAG,OAAO,CAACE,YAAY,oBAAoBF,EAAG,OAAO,CAACI,MAAM,CAAC,KAAO,WAAW4R,KAAK,WAAW,CAACnS,EAAIa,GAAGb,EAAIwD,GAAGP,SAAW,MAAKjD,EAAIM,MAAO2Q,EAAU7S,SAA8B,UAAnB6S,EAAUhS,KAAkBkB,EAAG,iBAAiB,CAACI,MAAM,CAAC,QAAU0Q,EAAU7S,QAAQ,MAAQ4B,EAAI2G,MAAMsK,EAAUtO,KAAK,SAAWsO,EAAUrE,SAAS,KAAOqE,EAAUmB,WAAW,WAAanB,EAAUoB,WAAW,WAAapB,EAAUrO,WAAW,UAAYqO,EAAUqB,UAAU,iBAAmBrB,EAAUpO,iBAAiB,SAAW7C,EAAIqN,eAAe4D,EAAU/D,WAAWvL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,IAAS,KAAO,SAASA,GAAQ,OAAO5B,EAAIwS,kBAAsC,oBAAnBvB,EAAUhS,KAA4BkB,EAAG,cAAc,CAACI,MAAM,CAAC,MAAQP,EAAIyS,SAASxB,GAAW,SAAWjR,EAAIqN,eAAe4D,EAAU/D,WAAWvL,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,MAAW,CAAC5B,EAAIa,GAAG,IAAIb,EAAIwD,GAAGyN,EAAUvO,OAAO,OAAQuO,EAAU7S,SAA8B,aAAnB6S,EAAUhS,KAAqBkB,EAAG,mBAAmB,CAACI,MAAM,CAAC,UAAY0Q,EAAU,MAAQjR,EAAI2G,MAAM,OAASsK,EAAUyB,iBAAiB,QAAUzB,EAAU0B,SAAShR,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,IAAS,KAAO,SAASA,GAAQ,OAAO5B,EAAIwS,kBAAmBvB,EAAU7S,SAA8B,UAAnB6S,EAAUhS,KAAkBkB,EAAG,oBAAoB,CAACI,MAAM,CAAC,QAAU0Q,EAAU7S,QAAQ,MAAQ4B,EAAI2G,MAAMsK,EAAUtO,KAAK,WAAasO,EAAUrO,WAAW,iBAAmBqO,EAAUpO,iBAAiB,SAAW7C,EAAIqN,eAAe4D,EAAU/D,WAAWvL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,IAAS,KAAO,SAASA,GAAQ,OAAO5B,EAAIwS,kBAAsC,UAAnBvB,EAAUhS,KAAkBkB,EAAG,YAAY,CAACE,YAAY,oBAAoBE,MAAM,CAAC,MAAQP,EAAIyS,SAASxB,GAAW,SAAWjR,EAAIqN,eAAe4D,EAAU/D,UAAU,SAAW,GAAG,gBAAgB,GAAG,KAAO,QAAQ,eAAe,oBAAoBvL,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,MAAW5B,EAAI6L,GAAIoF,EAAiB,SAAE,SAASnE,EAAO3P,GAAO,OAAOgD,EAAG,YAAY,CAACwC,IAAIxF,EAAMoD,MAAM,CAAC,MAAQuM,EAAO1L,MAAM,MAAQ0L,EAAOpK,YAAW,GAAIuO,EAAiB,QAAE9Q,EAAG,SAAS,CAACiD,MAAM,CAAE,kBAAmB6N,EAAU2B,UAAWrS,MAAM,CAAC,GAAKP,EAAIsR,MAAML,EAAUtO,KAAK,YAAY3C,EAAIwR,UAAUP,EAAUtO,KAAK,kBAAkB3C,EAAI6S,WAAW5B,EAAUtO,KAAK,SAAW3C,EAAIqN,eAAe4D,EAAU/D,WAAW5L,SAAS,CAAC,MAAQtB,EAAIyS,SAASxB,IAAYtP,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAI8S,eAAelR,EAAOG,OAAQkP,MAAcjR,EAAI6L,GAAIoF,EAAiB,SAAE,SAASnE,EAAO3P,GAAO,OAAOgD,EAAG,SAAS,CAACwC,IAAIxF,EAAMmE,SAAS,CAAC,MAAQwL,EAAO1L,QAAQ,CAACpB,EAAIa,GAAG,IAAIb,EAAIwD,GAAGsJ,EAAOpK,OAAO,UAAS,GAAuB,mBAAnBuO,EAAUhS,KAA2B,CAACkB,EAAG,mBAAmB,CAACiD,MAAM,CAAE,kBAAmB6N,EAAU2B,UAAWrS,MAAM,CAAC,QAAU0Q,EAAUhE,QAAQ,WAAajN,EAAIyS,SAASxB,GAAW,SAAWjR,EAAIqN,eAAe4D,EAAU/D,WAAWvL,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAYrP,QAAiC,WAAnBqP,EAAUhS,MAAwC,SAAnBgS,EAAUhS,MAAsC,aAAnBgS,EAAUhS,KAAqBkB,EAAG,QAAQ,CAACiD,MAAM,CAAE,kBAAmB6N,EAAU2B,UAAWrS,MAAM,CAAC,GAAKP,EAAIsR,MAAML,EAAUtO,KAAK,YAAY3C,EAAIwR,UAAUP,EAAUtO,KAAK,kBAAkB3C,EAAI6S,WAAW5B,EAAUtO,KAAK,KAAOsO,EAAUhS,KAAK,SAAWe,EAAIqN,eAAe4D,EAAU/D,UAAU,UAAY+D,EAAU8B,SAASzR,SAAS,CAAC,MAAQtB,EAAIyS,SAASxB,IAAYtP,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,EAAOG,OAAOX,QAAQ,KAAO,SAASQ,GAAQ,OAAO5B,EAAIwS,kBAAsC,aAAnBvB,EAAUhS,KAAqBkB,EAAG,iBAAiB,CAACiD,MAAM,CAAE,kBAAmB6N,EAAU2B,UAAWrS,MAAM,CAAC,GAAKP,EAAIsR,MAAML,EAAUtO,KAAK,YAAY3C,EAAIwR,UAAUP,EAAUtO,KAAK,SAAWsO,EAAU+B,eAAe,kBAAkBhT,EAAI6S,WAAW5B,EAAUtO,KAAK,MAAQ3C,EAAIyS,SAASxB,GAAW,SAAWjR,EAAIqN,eAAe4D,EAAU/D,UAAU,UAAY+D,EAAUgC,WAAWtR,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,IAAS,KAAO,SAASA,GAAQ,OAAO5B,EAAIwS,kBAAsC,SAAnBvB,EAAUhS,MAAsC,UAAnBgS,EAAUhS,KAAkBkB,EAAG,eAAe,CAACiD,MAAM,CAAE,kBAAmB6N,EAAU2B,UAAWrS,MAAM,CAAC,MAAQP,EAAIyS,SAASxB,GAAW,GAAKjR,EAAIsR,MAAML,EAAUtO,KAAK,aAAasO,EAAUhS,KAAK,YAAYe,EAAIwR,UAAUP,EAAUtO,KAAK,aAAasO,EAAUvO,MAAM,SAAW1C,EAAIqN,eAAe4D,EAAU/D,UAAU,WAAa+D,EAAUiC,WAAW,mBAAqBjC,EAAUkC,oBAAoBxR,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,IAAS,KAAO,SAASA,GAAQ,OAAO5B,EAAIwS,kBAAsC,aAAnBvB,EAAUhS,KAAqBkB,EAAG,WAAW,CAACiD,MAAM,CAAE,kBAAmB6N,EAAU2B,UAAWrS,MAAM,CAAC,GAAKP,EAAIsR,MAAML,EAAUtO,KAAK,YAAY3C,EAAIwR,UAAUP,EAAUtO,KAAK,kBAAkB3C,EAAI6S,WAAW5B,EAAUtO,KAAK,SAAW3C,EAAIqN,eAAe4D,EAAU/D,UAAU,UAAY+D,EAAU8B,QAAQ,KAAO9B,EAAUzB,MAAQ,IAAIlO,SAAS,CAAC,MAAQtB,EAAIyS,SAASxB,IAAYtP,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,EAAOG,OAAOX,QAAQ,KAAO,SAASQ,GAAQ,OAAO5B,EAAIwS,kBAAsC,UAAnBvB,EAAUhS,KAAkBkB,EAAG,eAAe,CAACE,YAAY,cAAcE,MAAM,CAAC,YAAa,EAAK,SAAW0Q,EAAUmC,WAAW,QAAUnC,EAAUoC,QAAQ,OAASpC,EAAUqC,QAAQ,KAAOtT,EAAIuT,iBAAiBtC,IAAYtP,GAAG,CAAC,IAAMsP,EAAUJ,IAAI,OAASI,EAAUuC,UAA4B,gBAAjBvC,EAAUhS,KAAsB,CAACkB,EAAG,gBAAgB,CAACI,MAAM,CAAC,WAAaP,EAAIyS,SAASxB,GAAW,SAAWjR,EAAIqN,eAAe4D,EAAU/D,UAAU,UAAY+D,EAAUwC,WAAW9R,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,QAAazB,EAAG,QAAQ,CAACiD,MAAM,CAAE,kBAAmB6N,EAAU2B,UAAWrS,MAAM,CAAC,GAAKP,EAAIsR,MAAML,EAAUtO,KAAK,YAAY3C,EAAIwR,UAAUP,EAAUtO,KAAK,kBAAkB3C,EAAI6S,WAAW5B,EAAUtO,KAAK,KAAO,OAAO,SAAW3C,EAAIqN,eAAe4D,EAAU/D,UAAU,UAAY+D,EAAU8B,SAASzR,SAAS,CAAC,MAAQtB,EAAIyS,SAASxB,IAAYtP,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO5B,EAAIuS,SAAStB,EAAWrP,EAAOG,OAAOX,QAAQ,KAAO,SAASQ,GAAQ,OAAO5B,EAAIwS,YAAYvB,EAAWrP,EAAOG,OAAOX,WAAY6P,EAAkB,SAAE9Q,EAAG,MAAM,CAACE,YAAY,kBAAkBE,MAAM,CAAC,IAAM,EAAQ,WAAmCP,EAAIM,KAAM2Q,EAAUyC,YAAc1T,EAAI2T,cAAexT,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACL,EAAIa,GAAG,IAAIb,EAAIwD,GAAGyN,EAAUyC,YAAY,OAAO1T,EAAIM,MAAM,GAAGN,EAAIM,UAAS,IAC5zMkC,EAAkB,G,mRCNlB,EAAS,WAAa,IAAIxC,EAAIjB,KAASkB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACc,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOpB,EAAc,WAAEqB,WAAW,eAAed,MAAM,CAAC,UAAYP,EAAI4T,UAAU,SAAW5T,EAAIkN,UAAU5L,SAAS,CAAC,MAAStB,EAAc,YAAG2B,GAAG,CAAC,SAAW,SAASC,GAAQ,OAAO5B,EAAI6T,gBAAgBjS,IAAS,KAAO,SAASA,GAAQ,OAAO5B,EAAI8T,UAAU,MAAQ,SAASlS,GAAQ,OAAO5B,EAAI+T,WAAW,OAAS,SAASnS,GAAQ,OAAO5B,EAAIgU,SAASpS,IAAS,MAAQ,SAASA,GAAWA,EAAOG,OAAO+P,YAAqB9R,EAAIiU,WAAWrS,EAAOG,OAAOX,WAAYpB,EAAIkN,SAA0FlN,EAAIM,KAApFH,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACL,EAAIa,GAAG,IAAIb,EAAIwD,GAAGxD,EAAI0T,YAAY,UACnsB,EAAkB,GCiBD,G,wCAArB,yG,0BASG,EAAAO,WAAa,GACb,EAAAC,gBAAiB,EAVpB,iDAYG,WACE,GAA8B,qBAAnBnV,KAAK6U,UAAhB,CACA,IAAMO,EAASpV,KAAKqV,wBAAwBrV,KAAKkV,YAC3CI,EAAgBtV,KAAK6U,WAAaO,EAAO/J,WAAWzN,QAAU,GACpE,OAAO0X,EAAgB,EAAhB,UAAuBA,EAAvB,wBAA6D,iCAhBzE,6BAmBG,SAAiBC,GACfA,EAAOA,GAAQjF,OAAOkF,MACtB,IAAMC,EAAYF,EAAIG,MAASH,EAAIG,MAAQH,EAAII,QAEzCC,EAAeL,EAAIvS,OAAOX,MAChC,GAAIrC,KAAKmV,eAMP,OALKnV,KAAK6V,YAAYJ,IAAazV,KAAK8V,YAAYL,GAClDF,EAAIQ,iBAEJ/V,KAAKmV,gBAAiB,GAEjB,EAST,GALmC,OAA/BS,EAAatV,eACfiV,EAAIQ,iBAIF/V,KAAK6V,YAAYD,EAAaI,WAAW,IAAK,CAChD,GAAIhW,KAAKiW,YAAYR,GACnB,OAAO,EAETF,EAAIQ,iBAIN,QAAKH,IACC5V,KAAK6V,YAAYJ,OAMnBzV,KAAK8V,YAAYL,SACnBF,EAAIQ,oBAvDX,yBA6DG,SAAaN,GACX,OAAoB,KAAbA,GAAgC,MAAbA,IA9D/B,yBAiEG,SAAaA,GACX,OAAoB,KAAbA,GAAgC,KAAbA,IAlE/B,yBAqEG,SAAaA,GACX,OAAOA,EAAW,KAAOA,EAAW,IAAMA,EAAW,MAtE1D,oBAyEG,WACE,IAAKzV,KAAKkV,YAAkC,MAApBlV,KAAKkV,WAG3B,OAFAlV,KAAKkV,WAAalV,KAAKkW,YAAY,SACnClW,KAAKwE,MAAM,QAAS,IAKtB,GAAsC,OAAlCxE,KAAKkV,WAAW5U,cAGlB,OAFAN,KAAKkV,WAAa,UAClBlV,KAAKwE,MAAM,QAAS,MAKtB,GAAI2R,MAAMrF,OAAO9Q,KAAKkV,aAGpB,OAFAlV,KAAKkV,WAAa,UAClBlV,KAAKwE,MAAM,QAAS,MAItB,IAAM4Q,EAASpV,KAAKqV,wBAAwBrV,KAAKkV,YACjDlV,KAAKkV,WAAalV,KAAKkW,YAAYd,GACnCpV,KAAKwE,MAAM,QAASsM,OAAOsE,MAhGhC,qBAmGG,WACEpV,KAAKkV,WAAalV,KAAKqV,wBAAwBrV,KAAKkV,cApGzD,sBAuGG,WACElV,KAAKmV,gBAAiB,IAxG3B,yBA2GG,SAAaiB,GAAM,QACjB,GAAsB,kBAAXA,EAAqB,CAC9B,GAA6B,OAAzBA,EAAO9V,eAAqC,KAAX8V,EACnC,OAAOA,EAETA,EAAStF,OAAOsF,EAAOzV,QAAQ,IAAK,IAAIA,QAAQ,IAAK,eACjCmL,IAAXsK,GAAkC,MAAVA,IACjCA,EAAS,IAEX,OAAOpW,KAAKqW,YAAcrW,KAAKsW,gBAAL,UAAsBF,SAAtB,aAAsB,EAAQrF,eAAe,UAAhE,UAA2EqF,SAA3E,aAA2E,EAAQrF,eAAe,WApH9G,qCAuHG,SAAyBwF,GACvB,OAAOA,EAASC,WAAWxW,KAAKsW,eAAgB,IAAIE,WAAW,IAAK,MAxHzE,0BA2HG,WAAkB,MAChB,iBAAOxW,KAAKyW,YAAYF,gBAAxB,QAAoC,SA5HzC,gCAgIG,WACMvW,KAAK0W,YAAkC,MAApB1W,KAAK0W,YAAkD,IAA5B5F,OAAO9Q,KAAK0W,YAC5D1W,KAAKkV,WAAalV,KAAKkW,YAAYlW,KAAK0W,YAExC1W,KAAKkV,WAAalV,KAAKkW,YAAY,MApI1C,qBAwIE,WACElW,KAAKkV,WAAalV,KAAKkW,YAAYlW,KAAK0W,gBAzI5C,GAA2C,SACjC,gBAAP,kB,iCACwB,gBAAxB,eAAK,CAAEvF,SAAS,K,kCACM,gBAAtB,eAAK,CAAEA,QAAS,M,gCACS,gBAAzB,eAAK,CAAEA,SAAS,K,+BAGjB,gBADE,uB,kCA0HD,gBADA,eAAM,e,iCAOL,MAtIiB,EAAa,gBADjC,QACoB,WClBmX,I,wBCQpY/M,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,gCCgQM,EAArB,yG,0BAgBU,EAAAuS,SAAU,EAEV,EAAArE,QAAU,KACV,EAAAa,QAAU,KAnBpB,wDAqBE,WAAqB,WACnB,OAAOnT,KAAK4W,WAAWrP,KAAI,SAAC2K,GAAa,MACjCtO,EAAOsO,EAAkBtO,IACzBiT,GAAS,YAAKA,cAAL,eAAa/O,QAAO,SAAC5I,GAAD,OAASA,EAAI0E,MAAQA,OAAQ,GAC1DoQ,EAAU,eAAW,EAAKpM,MAAOhE,GACjCkT,EAAW,EAAKC,YAAYnT,GAC5B+Q,EAAa,EAAKqC,cAAchD,EAAS8C,GAC/C,uBACED,SACAxE,WAAiB,OAANwE,QAAM,IAANA,OAAA,EAAAA,EAAQjZ,QAAS,EAC5BoW,UACAW,cACGzC,QAjCX,qBAsCE,WACE,MAAO,CACL+E,oBAAqB,UAAF,OAAYjX,KAAKuU,QAAjB,wBAxCzB,yBA4CE,WACE,MAAsC,WAA/BvU,KAAKkX,gBAAgBC,QA7ChC,2BAgDE,SAAenD,EAAS8C,GACtB,OAAK9W,KAAK4U,eACHZ,EAAU8C,EAAW,EAAX,UAAkBA,EAAlB,sBAAiD,8BADlC,KAjDpC,4BAqDE,WAAqD,IAArCM,EAAqC,wDACnD,QAAIpX,KAAKqX,eACSvL,IAAdsL,IAEOA,aAAqBE,SACvBF,EAAUpX,KAAK4H,OAEfwP,KA5Db,wBAgEE,WAAgD,IAApCA,IAAoC,yDAC9C,YAAkBtL,IAAdsL,IAEOA,aAAqBE,SACvBF,EAAUpX,KAAK4H,OAEfwP,KAtEb,sBA0EE,SAAUG,GACR,GAAmB,aAAfA,EAAMrX,KAAqB,CAC7B,IAAMsX,EAAWxX,KAAK4H,MAAM2P,EAAM3T,KAClC,GAAwB,kBAAb4T,GAAyBA,aAAoBC,OACtD,OAAO3G,OAAO9Q,KAAK4H,MAAM2P,EAAM3T,MAGnC,GAAI2T,EAAM3T,IACR,OAAO5D,KAAK4H,MAAM2P,EAAM3T,KACnB,GAAI2T,EAAM3P,MACf,OAAO2P,EAAM3P,MAAMgL,MAEnB,MAAM,IAAIzI,MAAJ,mCACwBoN,EAAM5T,MAD9B,iCAtFZ,6BAgGE,SAAiB+T,GACf,OAAQA,GAAa,OAjGzB,8BAoGE,SAAkBH,GAChB,GAAIA,EAAM3T,IACR,OAAO5D,KAAK4H,MAAM2P,EAAM3T,KACnB,GAAI2T,EAAM5V,KACf,OAAO4V,EAAM5V,KAEb,MAAM,IAAIwI,MAAJ,mCACwBoN,EAAM5T,MAD9B,iCA1GZ,4BAiHE,SAAgB6R,EAAOtD,GACrB,IAAMyF,EAAiBzF,EAAU7S,QAAQmW,EAAMoC,eAC/C5X,KAAKwT,SAAStB,EAAWyF,EAAetV,SAnH5C,sBAsHE,SAAUkV,EAAiB3J,GACzB,IAAMvL,EAA4B,WAAfkV,EAAMrX,MAAqB0N,GAAU,EAAIA,EAE5D,IAAI2J,EAAM3T,IAQH,IAAI2T,EAAM3P,MAIf,OAHI2P,EAAMM,UACRN,EAAMM,SAAS7X,KAAK4H,MAAM2P,EAAM3T,KAAMvB,GAEjCkV,EAAM3P,MAAMiL,IAAIxQ,GAEvB,MAAM,IAAI8H,MAAJ,mCAAsCoN,EAAM5T,MAA5C,+BAbF4T,EAAMM,UACRN,EAAMM,SAAS7X,KAAK4H,MAAM2P,EAAM3T,KAAMvB,GAGxC,IACErC,KAAK4H,MAAM2P,EAAM3T,KAAOvB,EACxB,MAAOyV,OAhIf,mBA2IE,SAAOlU,GACL,OAAI5D,KAAK4H,OAAS,iBAAkB5H,KAAK4H,MACvC,UAAU5H,KAAK+X,SAAf,YAA2B/X,KAAK4H,MAAMoQ,aAAapU,KAGjD,yBAAYA,KACdA,EAAM,IAAaxE,SAAS,IAG1BY,KAAK+X,SACP,UAAU/X,KAAK+X,SAAf,YAA2BnU,GAG7B,UAAUA,MAxJd,uBA2JE,SAAWA,GACT,GAAI5D,KAAK4H,OAAS,iBAAkB5H,KAAK4H,MACvC,gBAAU5H,KAAK4H,MAAMoQ,aAAapU,MA7JxC,wBAkKE,SAAYA,GACV,OAAO5D,KAAKuS,MAAM3O,GAAO,WAnK7B,yBAsKE,WACE,IAAMqU,EAAajY,KAAKkY,IAClBC,EAAcF,EAAWG,YAAcH,EAAWI,YACpDF,IAAanY,KAAK2W,SAAU,KAzKpC,yBA4KE,SAAaY,EAAiB3J,GACxB5N,KAAK4U,gBACP5U,KAAKsS,QAAU,MAGbiF,GAAK,OAAIA,QAAJ,IAAIA,KAAOxC,QAClBwC,EAAMxC,OAAOnH,KAlLnB,wBAuLE,SAAYsE,GAEV,KAAIA,EAAUS,YAAcT,EAAUY,UAAYZ,EAAUtK,OAA5D,CACA,IAAM0Q,EAAQtY,KAAKuS,MAAML,EAAUtO,KACnC5D,KAAKsS,QAAUgG,EACf,IAAMvP,EAAMC,SAASC,eAAeqP,GAChCvP,GAAKA,EAAIwP,WA7LjB,yBAgME,SAAa3U,GAAW,MAChB4U,EAAK,eAAWxY,KAAK4H,MAAOhE,GAClC,OAAO4U,EAAKA,IAAM,UAAAxY,KAAK4H,MAAMhE,UAAX,eAAiBhG,SAAU,GAAK4a,IAlMtD,4BAqME,SAAgBtG,GACd,OAAOA,EAAUuG,QAAV,eAAwBvG,EAAUuG,SAAW,KAtMxD,wBAgNE,SAAYC,GACV,GAAK1Y,KAAK4U,cAAV,CAEA,IAAM9L,EAAQ4P,EAAIzU,MAAK,SAAC0U,GAAD,MAAO,QAASA,KACvC,GAAK7P,EAAL,CACA,IAAMC,EAAMC,SAASC,eAAT,cAA+BjJ,KAAKuS,MAAMzJ,EAAMlF,OACvDmF,GACLA,EAAIG,eAAe,CAAEC,SAAU,SAAUyP,MAAO,YAvNpD,qBA0NE,WACE5Y,KAAK6Y,gBA3NT,qBA8NE,WAAO,WACL7Y,KAAK6Y,cACLvI,OAAOwI,iBAAiB,UAAU,kBAAM,EAAKD,qBAhOjD,GAAqD,QAC3C,gBAAP,kB,iCACO,gBAAP,kB,4BACqB,gBAArB,eAAK,CAAE1H,QAAS,K,8BACT,gBAAP,kB,6BAED,gBADC,eAAK,CAAEA,QAAS,WAAQ,OAAO4H,KAAKC,U,+BAGX,gBAAzB,eAAK,CAAE7H,SAAS,K,+BAGjB,gBADC,uB,kCAID,gBADC,uB,sCAmMD,gBADC,eAAM,oBAAqB,CAAE8H,MAAM,K,yBASnC,MAxNkB,EAAO,gBAb3B,eAAU,CACTrP,WAAY,CACVsP,iBAAA,KACAC,mBAAA,KACAC,oBAAA,KACAC,eAAA,KACAvP,eAAA,KACAwP,cAAA,EACAlI,mBAAA,KACAmI,aAAA,SAIiB,WCnR6W,ICQ9X,G,UAAY,eACd,EACAvY,EACAyC,GACA,EACA,KACA,WACA,OAIa,S","file":"js/chunk-218077f2.b06952f7.js","sourcesContent":["// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppModalV2.vue?vue&type=style&index=0&id=49ecd951&lang=scss&scoped=true&\"","\"use strict\";\n\nvar randomBytes = require('randombytes');\nvar Charset = require('./charset.js');\n\n\nfunction unsafeRandomBytes(length) {\n var stack = [];\n for (var i = 0; i < length; i++) {\n stack.push(Math.floor(Math.random() * 255));\n }\n\n return {\n length,\n readUInt8: function (index) {\n return stack[index];\n }\n };\n}\n\nfunction safeRandomBytes(length) {\n try {\n return randomBytes(length);\n } catch (e) {\n /* React/React Native Fix + Eternal loop removed */\n return unsafeRandomBytes(length);\n }\n}\n\nfunction processString(buf, initialString, chars, reqLen, maxByte) {\n var string = initialString;\n for (var i = 0; i < buf.length && string.length < reqLen; i++) {\n var randomByte = buf.readUInt8(i);\n if (randomByte < maxByte) {\n string += chars.charAt(randomByte % chars.length);\n }\n }\n return string;\n}\n\nfunction getAsyncString(string, chars, length, maxByte, cb) {\n randomBytes(length, function(err, buf) {\n if (err) {\n // Since it is waiting for entropy, errors are legit and we shouldn't just keep retrying\n cb(err);\n }\n var generatedString = processString(buf, string, chars, length, maxByte);\n if (generatedString.length < length) {\n getAsyncString(generatedString, chars, length, maxByte, cb);\n } else {\n cb(null, generatedString);\n }\n })\n}\n\nexports.generate = function(options, cb) {\n var charset = new Charset();\n\n var length, chars, capitalization, string = '';\n\n // Handle options\n if (typeof options === 'object') {\n length = typeof options.length === 'number' ? options.length : 32;\n\n if (options.charset) {\n charset.setType(options.charset);\n }\n else {\n charset.setType('alphanumeric');\n }\n\n if (options.capitalization) {\n charset.setcapitalization(options.capitalization);\n }\n\n if (options.readable) {\n charset.removeUnreadable();\n }\n\n charset.removeDuplicates();\n }\n else if (typeof options === 'number') {\n length = options;\n charset.setType('alphanumeric');\n }\n else {\n length = 32;\n charset.setType('alphanumeric');\n }\n\n // Generate the string\n var charsLen = charset.chars.length;\n var maxByte = 256 - (256 % charsLen);\n\n if (!cb) {\n while (string.length < length) {\n var buf = safeRandomBytes(Math.ceil(length * 256 / maxByte));\n string = processString(buf, string, charset.chars, length, maxByte);\n }\n\n return string;\n }\n\n getAsyncString(string, charset.chars, length, maxByte, cb);\n\n};\n","var arrayUniq = require('array-uniq');\n\nfunction Charset() {\n this.chars = '';\n}\n\nCharset.prototype.setType = function(type) {\n var chars;\n\n var numbers = '0123456789';\n var charsLower = 'abcdefghijklmnopqrstuvwxyz';\n var charsUpper = charsLower.toUpperCase();\n var hexChars = 'abcdef';\n var binaryChars = '01';\n var octalChars = '01234567';\n\n if (type === 'alphanumeric') {\n chars = numbers + charsLower + charsUpper;\n }\n else if (type === 'numeric') {\n chars = numbers;\n }\n else if (type === 'alphabetic') {\n chars = charsLower + charsUpper;\n }\n else if (type === 'hex') {\n chars = numbers + hexChars;\n }\n else if (type === 'binary') {\n chars = binaryChars;\n }\n else if (type === 'octal') {\n chars = octalChars;\n }\n else {\n chars = type;\n }\n\n this.chars = chars;\n}\n\nCharset.prototype.removeUnreadable = function() {\n var unreadableChars = /[0OIl]/g;\n this.chars = this.chars.replace(unreadableChars, '');\n}\n\nCharset.prototype.setcapitalization = function(capitalization) {\n if (capitalization === 'uppercase') {\n this.chars = this.chars.toUpperCase();\n }\n else if (capitalization === 'lowercase') {\n this.chars = this.chars.toLowerCase();\n }\n}\n\nCharset.prototype.removeDuplicates = function() {\n var charMap = this.chars.split('');\n charMap = arrayUniq(charMap);\n this.chars = charMap.join('');\n}\n\nmodule.exports = exports = Charset;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-recruit-form-dbi\"},[(_vm.loading)?_c('LoadingSpinner'):_vm._e(),_c('AppForm',{attrs:{\"structures\":_vm.bisoInfoStructure,\"model\":_vm.formData.data,\"errors\":_vm.showError?_vm.formDataErrors:[]}}),_c('div',{staticClass:\"section-header\"},[_vm._v(\"Section A : Business Interest\")]),_c('AppForm',{attrs:{\"structures\":_vm.biInfoStructure,\"model\":_vm.formData.data,\"errors\":_vm.showError?_vm.formDataErrors:[]}}),_c('div',{staticClass:\"section-header\"},[_vm._v(\"Section B: Shareholdings/Ownership\")]),_vm._m(0),_c('AppForm',{attrs:{\"structures\":_vm.soInfoStructure,\"model\":_vm.formData.data,\"errors\":_vm.showError?_vm.formDataErrors:[]}}),_c('div',{staticClass:\"section-header\"},[_vm._v(\"Declaration Clauses\")]),_vm._m(1),_c('div',[_c('div',{staticClass:\"acknowledge-section section\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formData.data.agree),expression:\"formData.data.agree\"}],attrs:{\"type\":\"checkbox\",\"id\":\"agree\"},domProps:{\"checked\":Array.isArray(_vm.formData.data.agree)?_vm._i(_vm.formData.data.agree,null)>-1:(_vm.formData.data.agree)},on:{\"change\":function($event){var $$a=_vm.formData.data.agree,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.formData.data, \"agree\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.formData.data, \"agree\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.formData.data, \"agree\", $$c)}}}}),_c('label',{attrs:{\"for\":\"agree\"}},[_vm._v(\"I agreed with the clauses.\")]),(_vm.showError && _vm.agreeErrMsg)?_c('span',{staticClass:\"el-icon-warning red\"}):_vm._e()])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Please complete this section if you have any shareholdings/ownership where \"),_c('b',[_vm._v(\"1% or more\")]),_vm._v(\" of the total number of voting shares are held by you in any entity in Singapore or elsewhere.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\" I am aware that under Section 23L of the Financial Advisers Act, an individual who has provided a statement that is materially false or misleading to his principal and the statement is subsequently l o d g e d with the Monetary Authority of Singapore, or has omitted to give information to his principal which cause s the lodged document to be misleading in a material respect, shall be guilty of an offence and shall be liable on conviction to a fine not exceeding $50,000. \")]),_c('li',[_vm._v(\" I declare that the information given in this form is true and correct. \")])])}]\n\nexport { render, staticRenderFns }","/* eslint-disable @typescript-eslint/camelcase */\nimport { Component, Vue, Watch } from 'vue-property-decorator'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport { FormBaseMixin } from './FormBaseMixin'\nimport { BiRoleTypeOptions, BisoFields, BisoStatusOptions, BisoTypeOptions, BusinessInterestShareholding, DeclarantTypeOptions } from '@core/model/recruit/forms/BusinessInterestShareholding'\n\n@Component\nexport class DeclarationBusinessInterestMixin extends FormBaseMixin {\n protected type = BusinessInterestShareholding\n\n get bisoInfoStructure (): FormStructure {\n return [\n {\n label: 'Declaration Type',\n key: 'submissionType',\n buttonName: 'submissionType',\n type: 'radio',\n displayDirection: 'row',\n options: BisoTypeOptions\n },\n {\n label: 'Declarant',\n key: 'declarantType',\n buttonName: 'declarantType',\n type: 'radio',\n displayDirection: 'row',\n options: DeclarantTypeOptions\n }\n ]\n }\n\n get biInfoStructure (): FormStructure {\n return [\n {\n label: 'Please tick (√) either choice and complete the following section',\n key: 'status',\n buttonName: 'status',\n type: 'radio',\n // displayDirection: 'row',\n options: BisoStatusOptions\n },\n {\n label: 'Name of Entity',\n key: 'biEntityName'\n },\n {\n label: 'Place of Incorporation/ Establishment (Country)',\n key: 'biEntityCountry'\n },\n {\n label: 'Nature of Business',\n key: 'biEntityNature'\n },\n {\n label: 'Role / Capacity',\n key: 'biRole',\n buttonName: 'roleCapacity',\n type: 'smart',\n // multiple: true,\n // displayDirection: 'row',\n options: BiRoleTypeOptions\n },\n {\n label: 'Specify Role',\n key: 'biRoleSpecified',\n show: (this.formData as BusinessInterestShareholding).data.biRole === 'others'\n },\n {\n label: 'Date of Acquiring / Effective Date of Changes to Existing Business Interest',\n key: 'biEffectiveDate',\n type: 'date'\n }\n ]\n }\n\n get soInfoStructure (): FormStructure {\n return [\n {\n label: 'Name of Entity',\n key: 'ownEntityName'\n },\n {\n label: 'Place of Incorporation/ Establishment (Country)',\n key: 'ownEntityCountry'\n },\n {\n label: 'Nature of Business',\n key: 'ownEntityNature'\n },\n {\n label: 'Date of Acquisition / Changes',\n key: 'ownEffectiveDate',\n type: 'date'\n },\n {\n label: 'Percentage Shareholding/Ownership you hold in the entity (%)',\n key: 'ownPercentage',\n type: 'number'\n }\n ]\n }\n\n get agreeErrMsg () {\n return this.formDataErrors?.find(err => err.key === 'agree')?.msg\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Mixins } from 'vue-property-decorator'\nimport { DeclarationBusinessInterestMixin } from './DeclarationBusinessInterestMixin'\n\nexport default class DeclarationBusinessInterest extends Mixins(DeclarationBusinessInterestMixin) {\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarationBusinessInterest.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarationBusinessInterest.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeclarationBusinessInterest.vue?vue&type=template&id=f1dbf118&scoped=true&\"\nimport script from \"./DeclarationBusinessInterest.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeclarationBusinessInterest.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DeclarationBusinessInterest.vue?vue&type=style&index=0&id=f1dbf118&lang=scss&scoped=true&\"\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 \"f1dbf118\",\n null\n \n)\n\nexport default component.exports","module.exports = require(\"./lib/randomstring\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal-fade\"}},[_c('div',{staticClass:\"modal-mask\"},[_c('div',{staticClass:\"modal-wrapper\",attrs:{\"role\":\"dialog\"}},[_c('div',{staticClass:\"modal-container\",class:{ show : _vm.showModal }},[_c('div',{staticClass:\"modal-header\"},[_vm._t(\"header\",function(){return [_vm._v(\" default header \")]}),_c('button',{staticClass:\"btn-close\",on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('i',{staticClass:\"fas fa-times\"})])],2),_c('div',{staticClass:\"modal-body\"},[_vm._t(\"body\",function(){return [_vm._v(\" default body \")]})],2),_c('div',{staticClass:\"modal-footer\"},[_vm._t(\"footer\")],2)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\n\n@Component\nexport default class AppModal extends Vue {\n protected showModal = false\n\n mounted () {\n this.$emit('open')\n this.showModal = true\n }\n\n destroyed () {\n this.$emit('close')\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppModalV2.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppModalV2.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppModalV2.vue?vue&type=template&id=49ecd951&scoped=true&\"\nimport script from \"./AppModalV2.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppModalV2.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppModalV2.vue?vue&type=style&index=0&id=49ecd951&lang=scss&scoped=true&\"\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 \"49ecd951\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loading-spinner\"},[_c('div',{staticClass:\"el-loading-mask\"},[_c('div',{staticClass:\"el-loading-spinner\"},[_c('svg',{staticClass:\"circular\",attrs:{\"viewBox\":\"25 25 50 50\"}},[_c('circle',{staticClass:\"path\",attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"20\",\"fill\":\"none\"}})]),_c('div',[_vm._v(_vm._s(_vm.msg))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\n\n@Component\nexport default class LoadingSpinner extends Vue {\n @Prop() msg: string\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadingSpinner.vue?vue&type=template&id=2ca34d92&scoped=true&\"\nimport script from \"./LoadingSpinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadingSpinner.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadingSpinner.vue?vue&type=style&index=0&id=2ca34d92&lang=scss&scoped=true&\"\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 \"2ca34d92\",\n null\n \n)\n\nexport default component.exports","import { Shared } from './forms/Shared'\nimport { Application } from './forms/Application'\nimport { BDMAssessment } from './forms/BDMAssessment'\nimport { BusinessInterestShareholding } from './forms/BusinessInterestShareholding'\nimport { CPFAuthorization } from './forms/CPFAuthorization'\nimport { EmployerConsent } from './forms/EmployerConsent'\nimport { LetterOfUndertaking } from './forms/LetterOfUndertaking'\nimport { NameCardOrder } from './forms/NameCardOrder'\nimport { PrevEmploymentInquiry } from './forms/PrevEmploymentInquiry'\nimport { RecruitSubsidyReimbursement } from './forms/RecruitSubsidyReimbursement'\nimport { SecuritiesDealing } from './forms/SecuritiesDealing'\nimport { TransferRulesAcknowledgement } from './forms/TransferRulesAcknowledgement'\nimport { FormsList } from './FormsList'\nimport { FormBase } from './FormBase'\nimport { Personal } from './forms/Personal'\nimport { QualificationEmployment } from './forms/QualificationEmployment'\nimport { GeneralDeclaration } from './forms/GeneralDeclaration'\nimport { FitAndProper } from './forms/FitAndProper'\nimport { DeclarationClauses } from './forms/DeclarationClauses'\nimport { RecruitManagerAssessment } from './forms/RecruitManagerAssessment'\n\nexport class AllForms {\n shared = new Shared()\n personal = new Personal()\n qualificationEmployment = new QualificationEmployment()\n generalDeclaration = new GeneralDeclaration()\n fitProper = new FitAndProper()\n // app = new Application()\n bdm = new BDMAssessment()\n bis = new BusinessInterestShareholding()\n cpf = new CPFAuthorization()\n ec = new EmployerConsent()\n lou = new LetterOfUndertaking()\n nco = new NameCardOrder()\n pei = new PrevEmploymentInquiry()\n rma = new RecruitManagerAssessment()\n rsr = new RecruitSubsidyReimbursement()\n sd = new SecuritiesDealing()\n tra = new TransferRulesAcknowledgement()\n dc = new DeclarationClauses()\n\n getForm (formType: typeof FormBase): FormBase {\n if (!formType) return new FormBase()\n const targetKey = Object.keys(this).find((formKey) => {\n return this[formKey] instanceof formType\n })\n if (!targetKey) alert(`Unable to retrieve corresponding form for : ${formType}`)\n return this[targetKey]\n }\n\n extractAndAssign (forms: any[]) {\n // console.time('extractAndAssign AllForms')\n forms.forEach((form) => {\n Object.keys(this).forEach((formKey) => {\n const formModel = this[formKey]\n if (!(formModel instanceof FormBase)) return\n if (formModel.type !== form.type) return\n formModel.extractAndAssign(form)\n })\n })\n // console.timeEnd('extractAndAssign AllForms')\n }\n\n /**\n * compile and return errors from individual forms\n * TIP : add your inter-form validation (requiring values from 2 forms or more) here\n * @returns array of error messages\n */\n errors (): string[] {\n return Object.values(this).map((form) => {\n return form.error\n }).flat()\n }\n\n get asOptions (): { label: string; value: string }[] {\n return Object.keys(this).map((formKey) => {\n if (!(this[formKey] instanceof FormBase)) return null\n const target = FormsList.find(formConfig => this[formKey] instanceof formConfig.model)\n return target ? { label: target.displayName, value: this[formKey].type } : null\n }).filter(form => form !== null)\n }\n\n get configs (): any[] {\n return Object.keys(this).map((formKey) => {\n if (!(this[formKey] instanceof FormBase)) return null\n const target = FormsList.find(formConfig => this[formKey] instanceof formConfig.model)\n return target ? {\n ...target,\n ...this[formKey]\n } : null\n }).filter(form => form !== null)\n }\n}\n","/* eslint-disable @typescript-eslint/camelcase */\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport { Component, Vue, Watch } from 'vue-property-decorator'\nimport AppForm from '@core/components/AppForm.vue'\nimport AppFormTable from '@core/components/AppFormTable.vue'\nimport LoadingSpinner from '@core/components/LoadingSpinner.vue'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport AppModal from '@core/components/AppModalV2.vue'\nimport { IDateService } from '@master/services/IDateService'\nimport { FormBase } from '@core/model/recruit/FormBase'\nimport { AllForms } from '@core/model/recruit/AllForms'\nimport { namespace } from 'vuex-class'\nimport { IProjectInfo } from '@master/config/IProjectInfo'\n\nconst recruitFormStore = namespace('RecruitFormStore')\n@Component({\n components: {\n AppForm,\n AppFormTable,\n AppDatatable,\n LoadingSpinner,\n AppModal\n }\n})\nexport class FormBaseMixin extends Vue {\n @inject()\n protected dateService: IDateService\n\n @inject()\n protected projectInfo: IProjectInfo\n\n @inject()\n protected $api: API\n\n @recruitFormStore.State\n private forms: AllForms\n\n @recruitFormStore.Mutation\n private setForms\n\n protected type = null\n protected allForms: AllForms = new AllForms()\n protected loading = false\n protected showError = false\n protected recruitDetails = null\n\n get formData (): FormBase {\n return this.forms.getForm(this.type)\n }\n\n get formDataErrors () {\n return this.formData.error\n }\n\n get recruitAccountOid () {\n return this.$router.currentRoute.params.recruitAccountOid\n }\n\n get formName () {\n return this.$router.currentRoute.name\n }\n\n get formConfig () {\n return this.allForms.configs.find(form => form.name === this.formName)\n }\n\n get formType () {\n return this.formConfig?.type\n }\n\n get currentUser () {\n return this.$store.getters.currentUser\n }\n\n @Watch('showError')\n focusError (se) {\n if (!se) return\n if (!this.formDataErrors || !this.formDataErrors.length) return\n const first = this.formDataErrors[0]\n const ele = document.getElementById(first.key)\n if (!ele) return\n ele.scrollIntoView({ behavior: 'smooth' })\n }\n\n save () {\n // cannot save if already signed\n // if (this.formData.signed) return\n this.loading = true\n this.$api.forms.update(this.formData).then((res) => {\n if (res && res.error) return alert(res.error)\n this.setForms([res])\n }).finally(() => {\n this.loading = false\n })\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=style&index=0&id=2ca34d92&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/myinfo-icon.28e75045.svg\";","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\n\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > 65536) throw new Error('requested too many random bytes')\n // in case browserify isn't using the Uint8Array version\n var rawBytes = new global.Uint8Array(size)\n\n // This will not work in older browsers.\n // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n if (size > 0) { // getRandomValues fails on IE if size == 0\n crypto.getRandomValues(rawBytes)\n }\n // phantomjs doesn't like a buffer being passed here\n var bytes = new Buffer(rawBytes.buffer)\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeclarationBusinessInterest.vue?vue&type=style&index=0&id=f1dbf118&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=style&index=0&id=11928856&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"datatable\",class:{'active': _vm.show, 'inactive': !_vm.show}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"appdatatable\",attrs:{\"data\":_vm.currentPageData,\"stripe\":_vm.hasNoError,\"size\":\"mini\",\"row-key\":_vm.selectionKey,\"row-class-name\":_vm.tableRowClassName,\"header-cell-class-name\":'cell-header'},on:{\"sort-change\":_vm.sortChange,\"row-click\":_vm.rowClick,\"selection-change\":_vm.handleSelection}},[(_vm.selectionKey)?_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true}}):_vm._e(),_vm._l((_vm.columns),function(column){return [(column.options)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(scope.row, column.field, $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.handleCustomEvent(scope.row)}]}},_vm._l((column.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(_vm._s(option.label))])}),0)]}}],null,true)}):(column.type)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(column.type==='number')?[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"number\":true,\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){_vm.$set(scope.row, column.field, _vm._n($event.target.value))},function($event){return _vm.handleCustomEvent(scope.row)}],\"blur\":function($event){return _vm.$forceUpdate()}}})]:(column.type === 'decimal-number')?[_c('AppDecimalNumber',{attrs:{\"decimal\":column.decimal,\"inputValue\":scope.row[column.field],\"disabled\":column.disabled}})]:(column.type === 'currency')?[_c('label',[_vm._v(_vm._s(_vm.convertToCurrency(scope.row[column.field])))])]:(column.type === 'action')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,on:{\"click\":function($event){return _vm.$emit(button, scope.row)}}},[_vm._v(_vm._s(button))])})}):(column.type === 'actionWithFeatures')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,attrs:{\"disabled\":button.shouldDisabled},on:{\"click\":function($event){return _vm.$emit(button.label, scope.row)}}},[_vm._v(_vm._s(button.label))])})}):_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){return _vm.$set(scope.row, column.field, $event.target.value)},function($event){return _vm.handleCustomEvent(scope.row)}]}})]}}],null,true)}):_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable,\"show-overflow-tooltip\":true},scopedSlots:_vm._u([{key:\"content\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row[column.field]))])]}}],null,true)})]}),(_vm.redirect)?_c('el-table-column',{key:'redirect',attrs:{\"prop\":'redirect',\"align\":\"center\",\"sortable\":false},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('redirect', scope.row)}}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})])]}}],null,false,2100746354)}):_vm._e()],2),_c('div',{staticClass:\"table-footer\"},[_c('div',{staticClass:\"table-info\"},[_vm._v(\"Show \"+_vm._s(_vm.infoFrom)+\" to \"+_vm._s(_vm.infoTo)+\" of \"+_vm._s(_vm.total)+\" entries\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"total\":_vm.total,\"hide-on-single-page\":false,\"page-sizes\":_vm.pageSizesDisplay,\"page-size\":_vm.pageSize,\"layout\":\"sizes, prev, pager, next, jumper\",\"background\":\"\"},on:{\"current-change\":_vm.pageChange,\"size-change\":_vm.handleSizeChange}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { isUndefined } from 'lodash/fp'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\n\nexport interface Column {\n label: string;\n field: string;\n sortable?: boolean;\n options: { label: string; value: string }[];\n}\n\ninterface Sort {\n prop: string;\n order: 'ascending' | 'decending';\n}\n\n@Component({\n components: {\n AppDecimalNumber\n }\n})\nexport default class TheDatatable extends Vue {\n @Prop() readonly loading!: boolean\n @Prop() readonly columns!: Array\n @Prop() readonly data!: Array\n @Prop() readonly filters: Array\n @Prop() readonly sort!: Sort\n @Prop() readonly search!: string\n @Prop({ default: true }) readonly show!: boolean\n @Prop({ default: false }) readonly redirect!: boolean\n @Prop() readonly selectionKey: string\n private pageSizes = [10, 50, 100, 500, 1000]\n private pageSize = 10\n private currentPage = 1\n private sortBy: Sort = {\n prop: this.data[0],\n order: 'ascending'\n }\n\n @Prop() clearSelection: boolean\n\n get pageSizesDisplay () {\n // return first size(10), if data total less than 10\n if (this.total < this.pageSizes[0]) return [this.pageSizes[0]]\n\n // get all the size that less than total\n const sizes = this.pageSizes.filter(size => size < this.total)\n\n // push last size\n const lastSize = (Math.round(this.total / 10) + 1) * 10\n sizes.push(lastSize)\n\n return sizes\n }\n\n get filteredData () {\n if (isUndefined(this.search)) return this.data\n\n const searchKeyword = this.search.trim().toLowerCase()\n const data = (this.filters && this.filters.length) ? this.filters : this.data\n return data.filter(value => {\n const result = JSON.stringify(value).toLowerCase().includes(searchKeyword)\n return result\n })\n }\n\n get sortedData () {\n const data = this.filteredData.sort((a, b) => {\n if (this.sortBy.order === 'ascending') {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return 1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return -1 }\n } else {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return -1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return 1 }\n }\n return 0\n })\n return data\n }\n\n get currentPageData () {\n return this.sortedData.slice((this.currentPage - 1) * this.pageSize, this.pageSize * this.currentPage)\n }\n\n get total () {\n return this.filteredData.length\n }\n\n get infoFrom () {\n if (this.currentPage !== 1) {\n return (this.currentPage - 1) * this.pageSize + 1\n } else {\n return this.filteredData.length ? 1 : 0\n }\n }\n\n get infoTo () {\n return this.currentPageData.length < this.pageSize\n ? this.pageSize * (this.currentPage - 1) + this.currentPageData.length\n : this.pageSize * this.currentPage\n }\n\n get hasNoError () {\n return this.data.every(e => e.error === undefined)\n }\n\n pageChange (currentPage: number): void {\n this.currentPage = currentPage\n this.$emit('pageChangeCustom', this.currentPage)\n }\n\n sortChange (sort: Sort): void {\n this.sortBy.prop = sort.prop\n this.sortBy.order = sort.order || 'ascending'\n }\n\n rowClick (row: any): void {\n if (row.emit) this.$emit('rowClickCustom', row)\n if (!row.redirect) return\n window.location.href = row.redirect\n }\n\n handleSelection (rows: any[]) {\n this.$emit('selectionChange', rows)\n }\n\n handleCustomEvent (row) {\n this.$emit('customEventSelect', row)\n }\n\n tableRowClassName ({ row }) {\n if (row.error) {\n return 'warning-row'\n } else {\n return ''\n }\n }\n\n clearCheckboxOnHeader () {\n const appdatatable = this.$refs.appdatatable as any\n if (this.selectionKey && appdatatable) {\n appdatatable.clearSelection()\n }\n }\n\n handleSizeChange (val) {\n this.pageSize = val\n }\n\n convertToCurrency (value, currencySymbol = '') {\n if (!value && value !== 0) return ''\n return currencySymbol + Number(value).toLocaleString(undefined, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n }\n\n mounted () {\n this.sortBy = this.sort\n this.clearCheckboxOnHeader()\n }\n\n @Watch('clearSelection')\n clearSelectionCheckbox () {\n if (this.clearSelection) {\n this.clearCheckboxOnHeader()\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppDatatable.vue?vue&type=template&id=4b557606&scoped=true&\"\nimport script from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppDatatable.vue?vue&type=style&index=0&id=4b557606&lang=scss&scoped=true&\"\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 \"4b557606\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&lang=scss&scoped=true&\"","'use strict';\n\n// there's 3 implementations written in increasing order of efficiency\n\n// 1 - no Set type is defined\nfunction uniqNoSet(arr) {\n\tvar ret = [];\n\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (ret.indexOf(arr[i]) === -1) {\n\t\t\tret.push(arr[i]);\n\t\t}\n\t}\n\n\treturn ret;\n}\n\n// 2 - a simple Set type is defined\nfunction uniqSet(arr) {\n\tvar seen = new Set();\n\treturn arr.filter(function (el) {\n\t\tif (!seen.has(el)) {\n\t\t\tseen.add(el);\n\t\t\treturn true;\n\t\t}\n\t});\n}\n\n// 3 - a standard Set type is defined and it has a forEach method\nfunction uniqSetWithForEach(arr) {\n\tvar ret = [];\n\n\t(new Set(arr)).forEach(function (el) {\n\t\tret.push(el);\n\t});\n\n\treturn ret;\n}\n\n// V8 currently has a broken implementation\n// https://github.com/joyent/node/issues/8449\nfunction doesForEachActuallyWork() {\n\tvar ret = false;\n\n\t(new Set([true])).forEach(function (el) {\n\t\tret = el;\n\t});\n\n\treturn ret === true;\n}\n\nif ('Set' in global) {\n\tif (typeof Set.prototype.forEach === 'function' && doesForEachActuallyWork()) {\n\t\tmodule.exports = uniqSetWithForEach;\n\t} else {\n\t\tmodule.exports = uniqSet;\n\t}\n} else {\n\tmodule.exports = uniqNoSet;\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=style&index=0&id=4b557606&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"column-group\",style:(_vm.gridStyle),attrs:{\"id\":\"app-form\"}},[_vm._l((_vm.structuresDetails),function(structure){return [(_vm.shouldShow(structure.show))?_c('div',{key:structure.key,staticClass:\"input-group-with-theme\",class:[{ 'input-disabled': _vm.shouldDisabled(structure.disabled)}, _vm.getCustomClass(structure)],attrs:{\"has-msg\":structure.hasErrors,\"focusing\":_vm.focusId == _vm.getId(structure.key),\"id\":(\"box-\" + (_vm.getId(structure.key)))},on:{\"click\":function($event){return _vm.focusInner(structure)}}},[[(structure.labelModel)?_c('input',{staticClass:\"label\",attrs:{\"type\":\"text\",\"placeholder\":structure.label,\"data-test\":(\"label-input:\" + (_vm.getTestId(structure.key)))},domProps:{\"value\":_vm.labelModelValue(structure.labelModel.get())},on:{\"input\":function($event){return structure.labelModel.set($event.target.value)}}}):(structure.labelKey)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model[structure.labelKey]),expression:\"model[structure.labelKey]\"}],staticClass:\"label\",attrs:{\"type\":\"text\",\"data-test\":(\"label-input:\" + (_vm.getTestId(structure.key)))},domProps:{\"value\":(_vm.model[structure.labelKey])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.model, structure.labelKey, $event.target.value)}}}):_vm._e(),(structure.labelModel || structure.labelKey)?_c('i',{staticClass:\"fa fa-pencil-alt right-sided\"}):(structure.type === 'single-checkbox')?_c('span'):_c('label',{attrs:{\"for\":_vm.getId(structure.key),\"id\":_vm.getId(structure.key) + '_label'},domProps:{\"innerHTML\":_vm._s(structure.label)}}),(structure.tooltip)?_c('AppTooltip',{attrs:{\"tooltipConfig\":structure.tooltip}}):_vm._e(),(_vm.isModernTheme)?_vm._l((structure.errors),function(ref,eidx){\nvar msg = ref.msg;\nreturn _c('div',{key:((structure.key) + \"-error-\" + eidx),staticClass:\"form-msg\",class:{\n full:\n eidx === 0 || _vm.fullErr === ((structure.key) + \"-error-\" + eidx),\n },on:{\"click\":function($event){_vm.fullErr = (structure.key) + \"-error-\" + eidx}}},[_c('el-tooltip',[_c('span',{staticClass:\"el-icon-warning\"}),_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(_vm._s(msg))])])],1)}):_vm._e()],(structure.options && structure.type === 'smart')?_c('AppSmartSelect',{attrs:{\"options\":structure.options,\"value\":_vm.model[structure.key],\"multiple\":structure.multiple,\"cols\":structure.optionCols,\"multiLimit\":structure.multiLimit,\"buttonName\":structure.buttonName,\"cycleMode\":structure.cycleMode,\"displayDirection\":structure.displayDirection,\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'single-checkbox')?_c('el-checkbox',{attrs:{\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"change\":function($event){return _vm.setValue(structure, $event)}}},[_vm._v(\" \"+_vm._s(structure.label)+\" \")]):(structure.options && structure.type === 'checkbox')?_c('AppCheckboxGroup',{attrs:{\"structure\":structure,\"model\":_vm.model,\"column\":structure.checkboxColumnNo,\"compact\":structure.compact},on:{\"change\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.options && structure.type === 'radio')?_c('AppRadioSelection',{attrs:{\"options\":structure.options,\"value\":_vm.model[structure.key],\"buttonName\":structure.buttonName,\"displayDirection\":structure.displayDirection,\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'multi')?_c('el-select',{staticClass:\"form-multi-select\",attrs:{\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"multiple\":\"\",\"collapse-tags\":\"\",\"size\":'small',\"popper-class\":'wen-popper-class'},on:{\"change\":function($event){return _vm.setValue(structure, $event)}}},_vm._l((structure.options),function(option,index){return _c('el-option',{key:index,attrs:{\"value\":option.value,\"label\":option.label}})}),1):(structure.options)?_c('select',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"disabled\":_vm.shouldDisabled(structure.disabled)},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setSelectValue($event.target, structure)}}},_vm._l((structure.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(\" \"+_vm._s(option.label)+\" \")])}),0):(structure.type === 'decimal-number')?[_c('AppDecimalNumber',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"decimal\":structure.decimal,\"inputValue\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)}}})]:(structure.type === 'number' || structure.type === 'time' || structure.type === 'password')?_c('input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"type\":structure.type,\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'currency')?_c('currency-input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"currency\":structure.currencyFormat,\"aria-labelledby\":_vm.getLabelId(structure.key),\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"precision\":structure.precision},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'date' || structure.type === 'month')?_c('AppDateInput',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"value\":_vm.getValue(structure),\"id\":_vm.getId(structure.key),\"input-type\":structure.type,\"data-test\":_vm.getTestId(structure.key),\"aria-label\":structure.label,\"disabled\":_vm.shouldDisabled(structure.disabled),\"futureDate\":structure.futureDate,\"disabledFutureDate\":structure.disabledFutureDate},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'textarea')?_c('textarea',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar,\"rows\":structure.rows || 10},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'table')?_c('AppFormTable',{staticClass:\"inner-table\",attrs:{\"innerTable\":true,\"vertical\":structure.isVertical,\"maxSize\":structure.maxSize,\"fields\":structure.columns,\"data\":_vm.getValueForTable(structure)},on:{\"add\":structure.add,\"remove\":structure.remove}}):(structure.type==='na-currency')?[_c('AppCurrencyNA',{attrs:{\"inputValue\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxLength},on:{\"input\":function($event){return _vm.setValue(structure, $event)}}})]:_c('input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"type\":\"text\",\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler(structure, $event.target.value)}}}),(structure.isMyInfo)?_c('img',{staticClass:\"input-hint logo\",attrs:{\"src\":require(\"@core/assets/myinfo-icon.svg\")}}):_vm._e(),(structure.counterMsg && _vm.isModernTheme)?_c('div',{staticClass:\"char-counter\"},[_vm._v(\" \"+_vm._s(structure.counterMsg)+\" \")]):_vm._e()],2):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputModal),expression:\"inputModal\"}],attrs:{\"maxlength\":_vm.maxlength,\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputModal)},on:{\"keypress\":function($event){return _vm.numberAndNAOnly($event)},\"blur\":function($event){return _vm.onBlur()},\"focus\":function($event){return _vm.onFocus()},\"select\":function($event){return _vm.onSelect($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.inputModal=$event.target.value}}}),(!_vm.disabled)?_c('div',{staticClass:\"char-counter\"},[_vm._v(\" \"+_vm._s(_vm.counterMsg)+\" \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { IProjectInfo } from '@master/config/IProjectInfo'\nimport { inject } from 'inversify-props'\n\n@Component\nexport default class AppCurrencyNA extends Vue {\n @Prop() inputValue\n @Prop({ default: true }) useCurrency!: boolean\n @Prop({ default: 10 }) maxlength?: number\n @Prop({ default: false }) disabled: boolean\n\n @inject()\n private projectInfo: IProjectInfo\n\n inputModal = ''\n textIsSelected = false\n\n get counterMsg () {\n if (typeof this.maxlength === 'undefined') return\n const number = this.convertCurrencyToNumber(this.inputModal)\n const remainingChar = this.maxlength - (number.toString().length || 0)\n return remainingChar > 0 ? `${remainingChar} letter(s) remaining` : 'Max character limit reached'\n }\n\n numberAndNAOnly (evt) {\n evt = (evt) || window.event\n const charCode = (evt.which) ? evt.which : evt.keyCode\n\n const currentValue = evt.target.value\n if (this.textIsSelected) {\n if (!this.isAlphabetN(charCode) && this.isNonNumber(charCode)) {\n evt.preventDefault()\n } else {\n this.textIsSelected = false\n }\n return true\n }\n\n // if current value is 'NA', cannot key in other character\n if (currentValue.toUpperCase() === 'NA') {\n evt.preventDefault()\n }\n\n // if current value is N, the followed char must be A\n if (this.isAlphabetN(currentValue.charCodeAt(0))) {\n if (this.isAlphabetA(charCode)) {\n return true\n }\n evt.preventDefault() // only can accept A\n }\n\n // if there is empty value, it can either key in char N or number only\n if (!currentValue) {\n if (this.isAlphabetN(charCode)) {\n return true\n }\n }\n\n // cannot key in non number value\n if (this.isNonNumber(charCode)) {\n evt.preventDefault()\n } else {\n return true\n }\n }\n\n isAlphabetN (charCode) {\n return charCode === 78 || charCode === 110\n }\n\n isAlphabetA (charCode) {\n return charCode === 65 || charCode === 97\n }\n\n isNonNumber (charCode) {\n return charCode > 31 && (charCode < 48 || charCode > 57)\n }\n\n onBlur () {\n if (!this.inputModal && this.inputModal !== '0') {\n this.inputModal = this.formatValue('')\n this.$emit('input', '')\n return\n }\n\n // format na to NA to display\n if (this.inputModal.toUpperCase() === 'NA') {\n this.inputModal = 'NA'\n this.$emit('input', 'NA')\n return\n }\n\n // in case only key in 'n' and on blur, format it to NA\n if (isNaN(Number(this.inputModal))) {\n this.inputModal = 'NA'\n this.$emit('input', 'NA')\n return\n }\n\n const number = this.convertCurrencyToNumber(this.inputModal)\n this.inputModal = this.formatValue(number)\n this.$emit('input', Number(number))\n }\n\n onFocus () {\n this.inputModal = this.convertCurrencyToNumber(this.inputModal)\n }\n\n onSelect () {\n this.textIsSelected = true\n }\n\n formatValue (source) {\n if (typeof source === 'string') {\n if (source.toUpperCase() === 'NA' || source === '') {\n return source\n }\n source = Number(source.replace('$', '').replace(',', ''))\n } else if (source === undefined || source == null) {\n source = ''\n }\n return this.useCurrency ? this.currencyPrefix + source?.toLocaleString('en-US') : source?.toLocaleString('en-US')\n }\n\n convertCurrencyToNumber (currency) {\n return currency.replaceAll(this.currencyPrefix, '').replaceAll(',', '')\n }\n\n get currencyPrefix () {\n return this.projectInfo.currency ?? 'SGD$'\n }\n\n @Watch('inputValue')\n inputValueOnChange () {\n if (this.inputValue || this.inputValue === '0' || Number(this.inputValue) === 0) {\n this.inputModal = this.formatValue(this.inputValue)\n } else {\n this.inputModal = this.formatValue('')\n }\n }\n\n mounted () {\n this.inputModal = this.formatValue(this.inputValue)\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppCurrencyNA.vue?vue&type=template&id=423a3b72&scoped=true&\"\nimport script from \"./AppCurrencyNA.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppCurrencyNA.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&lang=scss&scoped=true&\"\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 \"423a3b72\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Base } from '@master/model/Base'\nimport { FormStructure, Input, TableSetup } from '@master/model/structure/FormStructure'\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport AppCheckboxGroup from '@core/components/AppCheckboxGroup.vue'\nimport AppFormTable from '@core/components/AppFormTable.vue'\nimport AppRadioSelection from '@core/components/AppRadioSelection.vue'\nimport AppSmartSelect from '@core/components/AppSmartSelect.vue'\nimport { inject } from 'inversify-props'\nimport { IDateService } from '@master/services/IDateService'\nimport AppDateInput from './AppDateInput.vue'\nimport { getMaxChar } from '@master/annotation/MaxChar'\nimport { IProjectSettings } from '@master/config/IProjectSettings'\nimport { isUndefined } from 'lodash/fp'\nimport randomstring from 'randomstring'\nimport AppCurrencyNA from './AppCurrencyNA.vue'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\nimport AppTooltip from './AppTooltip.vue'\n\n@Component({\n components: {\n AppSmartSelect,\n AppCheckboxGroup,\n AppRadioSelection,\n AppDateInput,\n AppFormTable,\n AppCurrencyNA,\n AppDecimalNumber,\n AppTooltip\n }\n})\n\nexport default class AppForm extends Vue {\n @Prop() readonly structures!: FormStructure[];\n @Prop() readonly model!: T;\n @Prop({ default: 1 }) readonly columns: number;\n @Prop() readonly errors?: { key: string; msg: string }[];\n @Prop({ default: () => { return Date.now() } })\n readonly uniqueID: string;\n\n @Prop({ default: false }) readonly readOnly: boolean;\n\n @inject()\n private dateService: IDateService;\n\n @inject()\n private projectSettings: IProjectSettings;\n\n private minimal = true;\n // private renderCnt = 0;\n private focusId = null;\n private fullErr = null;\n\n get structuresDetails () {\n return this.structures.map((structure) => {\n const key = (structure as any).key\n const errors = this.errors?.filter((err) => err.key === key) || []\n const maxChar = getMaxChar(this.model, key)\n const charLeft = this.getCharLeft(key)\n const counterMsg = this.getCounterMsg(maxChar, charLeft)\n return {\n errors,\n hasErrors: errors?.length > 0,\n maxChar,\n counterMsg,\n ...structure\n }\n })\n }\n\n get gridStyle () {\n return {\n gridTemplateColumns: `repeat(${this.columns}, minmax(0, 1fr))`\n }\n }\n\n get isModernTheme () {\n return this.projectSettings.theme === 'Modern'\n }\n\n getCounterMsg (maxChar, charLeft) {\n if (!this.isModernTheme) return '' // counterMsg only used in Modern Theme\n return maxChar ? charLeft > 0 ? `${charLeft} letters remaining` : 'Max character limit reached' : ''\n }\n\n shouldDisabled (condition: boolean | Function = false) {\n if (this.readOnly) return true\n if (condition === undefined) {\n return false\n } else if (condition instanceof Function) {\n return condition(this.model)\n } else {\n return condition\n }\n }\n\n shouldShow (condition: boolean | Function = true) {\n if (condition === undefined) {\n return false\n } else if (condition instanceof Function) {\n return condition(this.model)\n } else {\n return condition\n }\n }\n\n getValue (input: Input) {\n if (input.type === 'currency') {\n const oriValue = this.model[input.key]\n if (typeof oriValue === 'string' || oriValue instanceof String) {\n return Number(this.model[input.key])\n }\n }\n if (input.key) {\n return this.model[input.key]\n } else if (input.model) {\n return input.model.get()\n } else {\n throw new Error(\n `Invalid config for label ${input.label}: key or model is required`\n )\n }\n }\n\n /**\n * Return null as the label if it is empty so\n * that the placeholder will appear\n */\n labelModelValue (labelValue: string) {\n return !labelValue ? null : labelValue\n }\n\n getValueForTable (input: TableSetup) {\n if (input.key) {\n return this.model[input.key]\n } else if (input.data) {\n return input.data\n } else {\n throw new Error(\n `Invalid config for label ${input.label}: key or model is required`\n )\n }\n }\n\n // this is to resolve the issue of event.target.value is always passed as string, but our use cases might need number\n setSelectValue (event, structure) {\n const selectedOption = structure.options[event.selectedIndex]\n this.setValue(structure, selectedOption.value)\n }\n\n setValue (input: Input, _value: T[keyof T]) {\n const value: any = input.type === 'number' ? +_value || 0 : _value\n\n if (input.key) {\n if (input.onChange) {\n input.onChange(this.model[input.key], value)\n }\n // when only has getter (for currency input), sidestep the error\n try {\n this.model[input.key] = value\n } catch (ex) {}\n } else if (input.model) {\n if (input.onChange) {\n input.onChange(this.model[input.key], value)\n }\n return input.model.set(value)\n } else {\n throw new Error(`Invalid config for label ${input.label}: key or model is required`)\n }\n }\n\n getId (key: string) {\n if (this.model && 'snakeCaseKey' in this.model) {\n return `${this.uniqueID}_${this.model.snakeCaseKey(key)}`\n }\n\n if (isUndefined(key)) {\n key = randomstring.generate(6)\n }\n\n if (this.uniqueID) {\n return `${this.uniqueID}_${key}`\n }\n\n return `${key}`\n }\n\n getTestId (key: string) {\n if (this.model && 'snakeCaseKey' in this.model) {\n return `${this.model.snakeCaseKey(key)}`\n }\n return undefined\n }\n\n getLabelId (key: string) {\n return this.getId(key) + '_label'\n }\n\n arrangeCols () {\n const curAppForm = this.$el\n const hasOverflow = curAppForm.scrollWidth > curAppForm.clientWidth\n if (hasOverflow) this.minimal = true\n }\n\n blurHandler (input: Input, _value: T[keyof T]) {\n if (this.isModernTheme) {\n this.focusId = null\n }\n\n if (input && input?.onBlur) {\n input.onBlur(_value)\n }\n }\n\n // use to handle Modern theme\n focusInner (structure: any) {\n // this means label is also editable, thus do not auto focus input\n if (structure.labelModel || structure.labelKey || structure.model) return\n const eleId = this.getId(structure.key)\n this.focusId = eleId\n const ele = document.getElementById(eleId)\n if (ele) ele.focus()\n }\n\n getCharLeft (key: string) {\n const mc = getMaxChar(this.model, key)\n return mc ? mc - (this.model[key]?.length || 0) : mc\n }\n\n getCustomClass (structure) {\n return structure.classes ? [...structure.classes] : []\n }\n\n // @Watch('structures')\n // structuresUpdated () {\n // // this is to allow view to be updated when structures change\n // this.renderCnt++\n // }\n\n @Watch('structuresDetails', { deep: true })\n focusError (swe) {\n if (!this.isModernTheme) return // this is used for Modern Theme\n\n const first = swe.find((s) => 'msg' in s)\n if (!first) return\n const ele = document.getElementById(`box-${this.getId(first.key)}`)\n if (!ele) return\n ele.scrollIntoView({ behavior: 'smooth', block: 'end' })\n }\n\n updated () {\n this.arrangeCols()\n }\n\n mounted () {\n this.arrangeCols()\n window.addEventListener('resize', () => this.arrangeCols())\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppForm.vue?vue&type=template&id=11928856&scoped=true&\"\nimport script from \"./AppForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppForm.vue?vue&type=style&index=0&id=11928856&lang=scss&scoped=true&\"\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 \"11928856\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}