{"version":3,"sources":["webpack:///./src/views/users/details/Edit.vue?5b5b","webpack:///./src/views/users/details/Edit.vue","webpack:///./src/views/users/details/Edit.vue?0d85","webpack:///./src/views/users/details/Edit.vue?f20e","webpack:///./src/views/users/configurations/UserTypes.vue?8853","webpack:///./src/views/users/configurations/UserTypes.vue","webpack:///./src/views/users/configurations/UserTypes.vue?2efe","webpack:///./src/views/users/configurations/UserTypes.vue?8573","webpack:///./src/views/users/details/Edit.vue?703b","webpack:///./src/views/users/details/Shared.vue?5323","webpack:///./src/views/users/details/Shared.vue","webpack:///./src/views/users/details/Shared.vue?28ed","webpack:///./src/views/users/details/Shared.vue?44f2","webpack:///./src/components/structure/MixinsSideComponent.ts","webpack:///./src/models/storage/nationalities.ts","webpack:///./src/services/api/entities.service.ts","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///./src/services/api/user.types.service.ts","webpack:///./src/permissions/abstract/permissions.handler.ts","webpack:///./src/views/users/configurations/Layout.vue?07f5","webpack:///./src/views/users/configurations/Layout.vue","webpack:///./src/views/users/configurations/Layout.vue?aaea","webpack:///./src/views/users/configurations/Layout.vue?ba3c","webpack:///./src/views/users/details/Logins.vue?da3a","webpack:///./src/views/users/details/Logins.vue","webpack:///./src/views/users/details/Logins.vue?ffad","webpack:///./src/views/users/details/Logins.vue?85be","webpack:///./src/views/users/details/Documents.vue?b797","webpack:///./src/views/users/details/Documents.vue","webpack:///./src/views/users/details/Documents.vue?ef4d","webpack:///./src/views/users/details/Documents.vue?63eb","webpack:///../../../src/components/VPagination/VPagination.ts","webpack:///./src/components/mixins/ServerGridMixins.ts","webpack:///./src/components/uploaders/SingleImageUploader.vue?34af","webpack:///./src/components/uploaders/SingleImageUploader.vue","webpack:///./src/components/uploaders/SingleImageUploader.vue?3586","webpack:///./src/components/uploaders/SingleImageUploader.vue?4be8","webpack:///./src/views/users/details/Comments.vue?d72f","webpack:///./src/services/api/users.comments.service.ts","webpack:///./src/views/users/details/Comments.vue","webpack:///./src/views/users/details/Comments.vue?cc41","webpack:///./src/views/users/details/Comments.vue?c494","webpack:///./src/views/users/details/Metadata.vue?2edb","webpack:///./src/views/users/details/Metadata.vue","webpack:///./src/views/users/details/Metadata.vue?8f73","webpack:///./src/views/users/details/Metadata.vue?568b","webpack:///./src/views/users/List.vue?5e75","webpack:///./src/views/users/shared/MenuList.vue?03ca","webpack:///./src/views/users/shared/MenuList.vue","webpack:///./src/views/users/shared/MenuList.vue?5b36","webpack:///./src/views/users/shared/MenuList.vue?3232","webpack:///./src/views/users/List.vue","webpack:///./src/views/users/List.vue?58db","webpack:///./src/views/users/List.vue?20bd","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///./src/views/users/details/Comments.vue?7394","webpack:///./src/views/users/side-menus/DetailUser.vue?47eb","webpack:///./src/permissions/user.permissions.ts","webpack:///./src/views/users/side-menus/DetailUser.vue","webpack:///./src/views/users/side-menus/DetailUser.vue?0aef","webpack:///./src/views/users/side-menus/DetailUser.vue?8f83","webpack:///./src/views/users/details/Dashboard.vue?2ef5","webpack:///./src/views/users/details/Dashboard.vue","webpack:///./src/views/users/details/Dashboard.vue?b399","webpack:///./src/views/users/details/Dashboard.vue?d30a","webpack:///./src/views/users/side-menus/CreateUser.vue?2d5f","webpack:///./src/views/users/side-menus/CreateUser.vue","webpack:///./src/views/users/side-menus/CreateUser.vue?2aa9","webpack:///./src/views/users/side-menus/CreateUser.vue?4aef"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","model","value","callback","$$v","currentTab","expression","_v","on","$event","preventDefault","onEditUser","isValid","$rules","required","instance","$set","users","entities","email","userTypes","nationalities","appGroups","onSelectPhoto","class","submitButton","isLoading","metadata","onEditMetatada","_e","staticRenderFns","usersService","entitieservice","configsService","tabs","init","user","forEach","i","push","idAppGroup","LoadRelatedData","query","currentLanguage","idLanguage","Load","then","result","usersQuery","orderBy","NameAsc","GetList","response","data","entitiesQuery","metadataQuery","idUser","GetMetadata","file","photo","Edit","id","showSuccessMessage","$router","catch","error","showError","finally","command","EditMetadata","components","SingleImageUploader","component","VAutocomplete","VBtn","VForm","VSelect","VTab","VTabItem","VTabs","VTabsItems","VTextField","manageGroupsDialog","ref","changeMetadataGroupsConfig","groups","selectedGroups","endpoint","columns","primary","actions","handleAction","apiService","userTypesService","text","type","Text","editable","editableClass","editableRules","minLenght","title","icon","visible","currentUserType","idUserType","metadataGroups","ChangeMetadataGroups","item","VCard","VCardActions","VCardText","VCardTitle","VDialog","VSpacer","getPhotoSrc","_s","name","userType","entity","scopedSlots","_u","key","fn","_g","actionMenu","deleteUser","slot","_l","route","url","menus","parseInt","$route","params","includes","GetSingle","DeleteById","path","VImg","VList","VListItem","VListItemTitle","VMenu","BaseSideComponent","closeSideMenu","EntitiesEndpoint","EntitiesRequestIncludes","entityType","EntitiesService","request","Get","baseUrl","GetQueryStringByObject","idEntity","Delete","Post","Put","baseMixins","inheritAttrs","props","disabled","label","offIcon","default","onIcon","readonly","isFocused","computed","classes","groupClasses","computedColor","computedIcon","isActive","computedId","hasLabel","hasState","radioGroup","isDisabled","isReadonly","computedName","rippleState","validationState","methods","genInput","genLabel","click","for","color","focused","genRadio","setTextColor","dense","attrs$","genRipple","onFocus","onBlur","onChange","onKeydown","h","UserTypesEndpoint","UserTypesService","PermissionModes","PermissionsHandler","backoffice","interfac","module","isConfiguration","viewMode","currentUser","role","roles","find","s","interface","state","identity","proxy","routes","DateTime","Boolean","Dropdown","arg","items","itemText","itemValue","FileAny","onVisible","directives","Resize","circle","length","validator","val","nextIcon","prevIcon","totalVisible","Number","pageAriaLabel","currentPageAriaLabel","previousAriaLabel","nextAriaLabel","wrapperAriaLabel","maxButtons","selected","themeClasses","maxLength","Math","range","even","left","right","start","end","watch","mounted","setTimeout","onResize","width","$el","parentElement","window","next","e","previous","from","genIcon","genItem","isCurrentPage","ariaLabel","setBackgroundColor","$vuetify","lang","t","genItems","map","index","isNaN","genList","modifiers","quiet","children","rtl","DataServerGridOptions","inited","page","pageSize","total","loading","ServerGrid","skip","gridConfigs","list","take","p","header","Object","assign","filterItem","GridFilter","onGridOptionsChange","console","log","filterable","ceil","_b","onSelect","$props","uploadService","folder","image","UploadSinglePhoto","processed","$emit","showErrorMessage","VFileInput","onCreateUserComment","comment","allComments","idUserComment","isEven","_f","dateCreated","userRelated","domProps","message","usersCommentsService","LoadComments","GetComments","CreateComment","isPublic","$refs","form","resetValidation","VAlert","VCheckbox","VTextarea","createUser","handleClick","headers","GridClearFilter","stopPropagation","viewUser","pageCount","GridPageChanged","staticStyle","GridPagesizeChanged","currentTypeId","currentGroupId","types","q","VRadio","sortable","align","GridInit","GridSetLoading","GridLoad","comp","args","openSideMenu","deep","LeftMenu","MenuList","VDataTable","VPagination","autoGrow","noResize","rowHeight","v","parseFloat","rows","noResizeHandle","lazyValue","$nextTick","calculateInputHeight","input","height","minHeight","onInput","onKeyDown","canView","canEdit","contactDefault","contactOptional","Check","View","CdnUrl","userPermissions","endsWith","substring","_m","onCreateUser","close","metadataConfiguration","loadMetadataconfiguration","Create","visibleOnCreate","GetMetadataGroupsConfiguration"],"mappings":"4IAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAY,SAAEI,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACF,EAAG,QAAQ,CAACG,MAAM,CAAC,OAAQ,EAAM,QAAS,IAAQ,CAACH,EAAG,SAAS,CAACI,MAAM,CAACC,MAAOT,EAAc,WAAEU,SAAS,SAAUC,GAAMX,EAAIY,WAAWD,GAAKE,WAAW,eAAe,CAACT,EAAG,QAAQ,CAACJ,EAAIc,GAAG,kBAAkBV,EAAG,QAAQ,CAACJ,EAAIc,GAAG,gBAAgB,GAAGV,EAAG,eAAe,CAACI,MAAM,CAACC,MAAOT,EAAc,WAAEU,SAAS,SAAUC,GAAMX,EAAIY,WAAWD,GAAKE,WAAW,eAAe,CAACT,EAAG,aAAa,CAACA,EAAG,SAAS,CAACE,YAAY,YAAYC,MAAM,CAAC,OAAS,IAAI,OAAS,QAAQQ,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBjB,EAAIkB,WAAWF,KAAUR,MAAM,CAACC,MAAOT,EAAW,QAAEU,SAAS,SAAUC,GAAMX,EAAImB,QAAQR,GAAKE,WAAW,YAAY,CAACT,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,QAAQ,MAAQ,CAACP,EAAIoB,OAAOC,UAAU,SAAW,IAAIb,MAAM,CAACC,MAAOT,EAAIsB,SAAa,KAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,OAAQX,IAAME,WAAW,mBAAmBT,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,YAAY,OAAO,aAAa,SAAS,MAAQ,sBAAsB,MAAQP,EAAIwB,OAAOhB,MAAM,CAACC,MAAOT,EAAIsB,SAAiB,SAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,WAAYX,IAAME,WAAW,wBAAwB,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,YAAY,OAAO,aAAa,WAAW,MAAQ,YAAY,MAAQP,EAAIyB,UAAUjB,MAAM,CAACC,MAAOT,EAAIsB,SAAiB,SAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,WAAYX,IAAME,WAAW,wBAAwB,KAAKT,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,QAAQ,MAAQ,CAACP,EAAIoB,OAAOM,QAAQlB,MAAM,CAACC,MAAOT,EAAIsB,SAAc,MAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,QAASX,IAAME,WAAW,qBAAqB,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,WAAW,CAACG,MAAM,CAAC,YAAY,QAAQ,aAAa,aAAa,MAAQ,qBAAqB,MAAQP,EAAI2B,UAAU,WAAY,GAAMnB,MAAM,CAACC,MAAOT,EAAIsB,SAAmB,WAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,aAAcX,IAAME,WAAW,0BAA0B,KAAKT,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,MAAQ,gBAAgB,MAAQP,EAAI4B,cAAc,WAAY,GAAMpB,MAAM,CAACC,MAAOT,EAAIsB,SAAoB,YAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,cAAeX,IAAME,WAAW,2BAA2B,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,aAAa,CAACG,MAAM,CAAC,MAAQ,qBAAqB,WAAY,EAAK,SAAW,IAAIC,MAAM,CAACC,MAAOT,EAAIsB,SAAkB,UAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,YAAaX,IAAME,WAAW,yBAAyB,KAAKT,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,sBAAsBC,MAAM,CAACC,MAAOT,EAAIsB,SAAuB,eAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,iBAAkBX,IAAME,WAAW,8BAA8B,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,uBAAuBC,MAAM,CAACC,MAAOT,EAAIsB,SAAwB,gBAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,kBAAmBX,IAAME,WAAW,+BAA+B,KAAKT,EAAG,iBAAiB,CAACG,MAAM,CAAC,YAAY,OAAO,aAAa,aAAa,MAAQ,SAAS,MAAQP,EAAI6B,UAAU,MAAQ,GAAG,SAAW,GAAG,UAAY,GAAG,mBAAkB,EAAK,iBAAgB,GAAOrB,MAAM,CAACC,MAAOT,EAAIsB,SAAkB,UAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,YAAaX,IAAME,WAAW,wBAAwBT,EAAG,sBAAsB,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAU,UAAaN,KAAKqB,SAAe,OAAI,WAAYP,GAAG,CAAC,OAASf,EAAI8B,iBAAiB1B,EAAG,QAAQ,CAAC2B,MAAM/B,EAAIgC,aAAazB,MAAM,CAAC,UAAYP,EAAImB,QAAQ,QAAUnB,EAAIiC,UAAU,MAAQ,UAAU,KAAO,WAAW,CAACjC,EAAIc,GAAG,gBAAgB,IAAI,GAAGV,EAAG,aAAa,CAAEJ,EAAY,SAAEI,EAAG,eAAe,CAACG,MAAM,CAAC,SAAWP,EAAIkC,SAAS,YAAclC,EAAIgC,aAAa,OAAU,UAAa/B,KAAKqB,SAAe,OAAI,aAAcP,GAAG,CAAC,OAASf,EAAImC,kBAAkBnC,EAAIoC,MAAM,IAAI,IAAI,IAAI,GAAGpC,EAAIoC,MAC3pIC,EAAkB,G,0OC0LD,EAArB,yG,0BAIE,EAAAC,aAA6B,IAAI,OACjC,EAAAC,eAAkC,IAAI,OACtC,EAAAC,eAAiC,IAAI,OACrC,EAAAhB,MAA0B,KAC1B,EAAAC,SAA+B,KAC/B,EAAAS,SAAyC,KACzC,EAAAL,UAAkC,KAClC,EAAAF,UAAkC,KAClC,EAAAC,cAA0BA,EAAA,KAC1B,EAAAI,aAAuB,aACvB,EAAAS,KAAiB,CAAC,eAAgB,aAClC,EAAA7B,WAAqB,UACrB,EAAAqB,WAAqB,EACrB,EAAAd,SAAmB,EAjBrB,yNAoBIlB,KAAKqB,SAAW,IAAI,OACpBrB,KAAKqB,SAASoB,KAAKzC,KAAK0C,MACxB1C,KAAKqB,SAASO,UAAY,GACtB5B,KAAK0C,KAAKd,WACZ5B,KAAK0C,KAAKd,UAAUe,SAAQ,SAAAC,GAAC,yBAC3B,EAAKvB,gBADsB,iBAC3B,EAAeO,iBADY,aAC3B,EAA0BiB,KAAKD,EAAEE,YAAc,MAzBvD,SA4BU9C,KAAK+C,kBA5Bf,uTAgCUC,EAAgB,cAAgBhD,KAAKiD,gBAAgBC,WAhC/D,SAmCUlD,KAAKuC,eAAeY,KAAK,gBAAiBH,GAAOI,MAAK,SAAAC,GAC1D,EAAKzB,UAAYyB,KApCvB,uBAwCUrD,KAAKuC,eAAeY,KAAK,gBAAiBH,GAAOI,MAAK,SAAAC,GAC1D,EAAK3B,UAAY2B,KAzCvB,cA6CUC,EAAa,IAAI,OACvBA,EAAWJ,WAAalD,KAAKiD,gBAAgBC,WAC7CI,EAAWC,QAAU,OAAyBC,QA/ClD,UAgDUxD,KAAKqC,aACRoB,QAAQH,GACRF,MAAK,SAACM,GAAD,OAAsC,EAAKnC,MAAQmC,EAASC,QAlDxE,eAqDUC,EAAgB,IAAI,OAC1BA,EAAcV,WAAalD,KAAKiD,gBAAgBC,WAtDpD,UAuDUlD,KAAKsC,eACRmB,QAAQG,GACRR,MACC,SAACM,GAAD,OAAwC,EAAKlC,SAAWkC,EAASC,QA1DzE,eA8DUE,EAAgB,IAAI,OAC1BA,EAAcC,OAAS9D,KAAK0C,KAAKoB,OACjCD,EAAcX,WAAalD,KAAKiD,gBAAgBC,WAhEpD,UAiEUlD,KAAKqC,aACR0B,YAAYF,GACZT,MAAK,SAACM,GAAD,OAAsC,EAAKzB,SAAWyB,KAnElE,8IAsEgBM,GACZhE,KAAKqB,SAAS4C,MAAQD,IAvE1B,8LA2EQhE,KAAKgC,UA3Eb,wDA4EIhC,KAAKgC,WAAY,EA5ErB,SA6EUhC,KAAKqC,aACR6B,KAAKlE,KAAKqB,UACV+B,MAAK,SAACe,GACL,OAAuBC,mBACrB,UACA,kCAEF,EAAKC,QAAQxB,KAAb,gBAA2BsB,EAA3B,kBAEDG,OAAM,SAACC,GAAD,OAAgB,OAAuBC,UAAUD,MACvDE,SAAQ,kBAAO,EAAKzC,WAAY,KAvFvC,yMA0FuB2B,GA1FvB,kGA2FQ3D,KAAKgC,UA3Fb,wDA4FIhC,KAAKgC,WAAY,EACX0C,EAAU,IAAI,OACpBA,EAAQZ,OAAS9D,KAAK0C,KAAKoB,OAC3BY,EAAQzC,SAAW0B,EAAK1B,SA/F5B,SAgGUjC,KAAKqC,aACRsC,aAAaD,GACbtB,MAAK,SAACe,GACL,OAAuBC,mBACrB,UACA,kCAEF,EAAKC,QAAQxB,KAAb,gBAA2BsB,EAA3B,kBAEDG,OAAM,SAACC,GAAD,OAAgB,OAAuBC,UAAUD,MACvDE,SAAQ,kBAAO,EAAKzC,WAAY,KA1GvC,+GAA0C,QAChC,gBAAP,kB,2BAC0B,gBAA1B,eAAO,oB,sCAFW,EAAY,gBALhC,eAAU,CACT4C,WAAY,CACVC,oBAAqBA,EAAA,SAGJ,WC3L8Y,I,yJCQ/ZC,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,WACA,MAIa,aAAA0C,EAAiB,QAahC,IAAkBA,EAAW,CAACC,gBAAA,KAAcC,OAAA,KAAKC,QAAA,KAAMC,UAAA,KAAQC,OAAA,KAAKC,WAAA,KAASC,QAAA,KAAMC,aAAA,KAAWC,aAAA,Q,qEChC9F,IAAIzF,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,WAAW,CAACG,MAAM,CAAC,YAAY,OAAOC,MAAM,CAACC,MAAOT,EAAsB,mBAAEU,SAAS,SAAUC,GAAMX,EAAIyF,mBAAmB9E,GAAKE,WAAW,uBAAuB,CAACT,EAAG,SAAS,CAACsF,IAAI,WAAW3E,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBjB,EAAI2F,2BAA2B3E,KAAUR,MAAM,CAACC,MAAOT,EAAW,QAAEU,SAAS,SAAUC,GAAMX,EAAImB,QAAQR,GAAKE,WAAW,YAAY,CAACT,EAAG,SAAS,CAACA,EAAG,eAAe,CAACE,YAAY,YAAY,CAACN,EAAIc,GAAG,yCAAyCV,EAAG,cAAc,CAACA,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQP,EAAI4F,OAAO,YAAY,QAAQ,aAAa,kBAAkB,MAAQ,SAAS,SAAW,IAAIpF,MAAM,CAACC,MAAOT,EAAkB,eAAEU,SAAS,SAAUC,GAAMX,EAAI6F,eAAelF,GAAKE,WAAW,qBAAqB,GAAGT,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,IAAIQ,GAAG,CAAC,MAAQ,SAASC,GAAQhB,EAAIyF,oBAAqB,KAAS,CAACzF,EAAIc,GAAG,cAAcV,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,SAAS,QAAUP,EAAIiC,UAAU,MAAQ,UAAU,UAAYjC,EAAImB,UAAU,CAACnB,EAAIc,GAAG,cAAc,IAAI,IAAI,IAAI,GAAGV,EAAG,WAAW,CAACG,MAAM,CAAC,SAAWP,EAAI8F,SAAS,QAAU9F,EAAI+F,QAAQ,eAAgB,EAAK,QAAU/F,EAAIgG,QAAQ,QAAUhG,EAAIiG,SAASlF,GAAG,CAAC,OAASf,EAAIkG,iBAAiB,IACpyC7D,EAAkB,G,sKCmDD,EAArB,yG,0BAEE,EAAA8D,WAA6B,IAAI,OACjC,EAAAC,iBAAqC,IAAI,OACzC,EAAAL,QAAwB,CACtB,CACEM,KAAM,SACN5F,MAAO,QACP6F,KAAM,OAAgBC,KACtBC,UAAU,EACVC,cAAe,SACfC,cAAe,CAAC,EAAKtF,OAAOuF,UAAU,MAG1C,EAAAV,QAAwB,CACtB,CACEW,MAAO,SACPC,KAAM,oBACNC,QAAS,kBAAM,KAGnB,EAAAhB,SAAmB,gBACnB,EAAAE,QAAkB,aAClB,EAAAJ,OAA6B,GAC7B,EAAAC,eAA2B,GAC3B,EAAAJ,oBAA8B,EAC9B,EAAAtE,SAAmB,EACnB,EAAAc,WAAqB,EACrB,EAAA8E,gBAAsC,KA5BxC,kOA+BU9G,KAAKkG,WACR/C,KACC,qBACA,cAAgBnD,KAAKiD,gBAAgBC,YAEtCE,MAAK,SAACM,GAAD,OAAoB,EAAKiC,OAASjC,KApC9C,yTAwCQ1D,KAAKgC,WAAchC,KAAKkB,SAAYlB,KAAK8G,gBAxCjD,wDAyCUpC,EAAU,IAAI,OACpBA,EAAQxB,WAAalD,KAAKiD,gBAAgBC,WAC1CwB,EAAQqC,WAAa/G,KAAK8G,gBAAgBC,WAC1CrC,EAAQsC,eAAiBhH,KAAK4F,eA5ClC,SA6CU5F,KAAKmG,iBACRc,qBAAqBvC,GACrBtB,MAAK,WACwB,MAAxB,EAAK0D,kBACP,EAAKA,gBAAgBE,eAAiBtC,EAAQsC,gBAEhD,EAAKxB,oBAAqB,KAE3Bf,SAAQ,kBAAO,EAAKzC,WAAY,KArDvC,4IAwDe2B,GAAqB,MAChC3D,KAAK8G,gBAAkBnD,EAAKuD,KAC5BlH,KAAK4F,eACqB,MAAxB5F,KAAK8G,iBAAL,UACI9G,KAAK8G,gBAAgBE,sBADzB,QAEI,GACNhH,KAAKwF,oBAAqB,MA9D9B,GAA2C,QACd,gBAA1B,eAAO,oB,sCADW,EAAa,gBADjC,QACoB,WCpDmZ,I,qHCOpaV,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAA0C,EAAiB,QAahC,IAAkBA,EAAW,CAACE,OAAA,KAAKmC,QAAA,KAAMC,aAAA,OAAaC,UAAA,OAAUC,WAAA,OAAWC,UAAA,KAAQtC,QAAA,KAAMC,UAAA,KAAQsC,UAAA,Q,oCC/BjG,yBAAugB,EAAG,G,oECA1gB,IAAI1H,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAQ,KAAEI,EAAG,MAAM,CAACA,EAAG,YAAY,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,aAAa,CAACG,MAAM,CAAC,OAAS,CACxW,UACA,eACA,cACGH,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,QAAQ,CAACE,YAAY,oBAAoBC,MAAM,CAAC,IAAOP,EAAI0H,YAAc,yBAA0B,MAAQ,MAAM,OAAS,UAAU,GAAGtH,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,KAAK,CAACE,YAAY,iCAAiC,CAACN,EAAIc,GAAGd,EAAI2H,GAAG3H,EAAI2C,KAAKiF,SAAU5H,EAAI2C,KAAa,SAAEvC,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACN,EAAIc,GAAG,IAAId,EAAI2H,GAAG3H,EAAI2C,KAAKkF,SAASjB,OAAO,OAAO5G,EAAIoC,KAAKhC,EAAG,MAAM,CAACE,YAAY,6CAA6C,CAACF,EAAG,MAAM,CAAEJ,EAAI2C,KAAW,OAAEvC,EAAG,cAAc,CAACE,YAAY,kBAAkBC,MAAM,CAAC,GAAM,WAAcP,EAAI2C,KAAa,SAAI,eAAgB,CAAC3C,EAAIc,GAAGd,EAAI2H,GAAG3H,EAAI2C,KAAKmF,OAAOF,SAAS5H,EAAIoC,MAAM,GAAGhC,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,YAAY,OAAOC,MAAM,CAAC,MAAQ,UAAU,QAAU,GAAG,GAAK,SAAS,CAACH,EAAG,IAAI,CAACE,YAAY,qBAAqBN,EAAIc,GAAG,cAAcV,EAAG,SAAS,CAACG,MAAM,CAAC,0BAAyB,EAAK,WAAW,GAAG,WAAa,qBAAqB,OAAS,IAAIwH,YAAY/H,EAAIgI,GAAG,CAAC,CAACC,IAAI,YAAYC,GAAG,SAASxC,GAC/hC,IAAI3E,EAAK2E,EAAI3E,GAC3B,MAAO,CAACX,EAAG,QAAQJ,EAAImI,GAAG,CAAC7H,YAAY,kBAAkBC,MAAM,CAAC,MAAQ,GAAG,IAAM,GAAG,KAAO,KAAKQ,GAAI,CAACX,EAAG,IAAI,CAACE,YAAY,sCAAsC,MAAK,EAAM,YAAYE,MAAM,CAACC,MAAOT,EAAc,WAAEU,SAAS,SAAUC,GAAMX,EAAIoI,WAAWzH,GAAKE,WAAW,eAAe,CAACT,EAAG,SAAS,CAACA,EAAG,cAAc,CAACW,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBjB,EAAIqI,WAAWrH,MAAW,CAACZ,EAAG,oBAAoB,CAACJ,EAAIc,GAAG,eAAe,IAAI,IAAI,IAAI,UAAU,GAAGV,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,yBAAyB,CAACE,YAAY,QAAQC,MAAM,CAAC,KAAOP,EAAI2C,SAAS,WAAWvC,EAAG,iBAAiB,CAACA,EAAG,WAAW,CAACkI,KAAK,QAAQ,CAAClI,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,KAAK,CAACJ,EAAIc,GAAG,eAAeV,EAAG,MAAM,CAACA,EAAG,KAAKJ,EAAIuI,GAAIvI,EAAS,OAAE,SAASwI,GAAO,OAAOpI,EAAG,KAAK,CAAC6H,IAAIO,EAAM5B,OAAO,CAACxG,EAAG,cAAc,CAACG,MAAM,CAAC,GAAKiI,EAAMC,MAAM,CAACrI,EAAG,IAAI,CAAC2B,MAAM,CAACyG,EAAM3B,QAAQ7G,EAAIc,GAAG,IAAId,EAAI2H,GAAGa,EAAM5B,OAAO,QAAQ,MAAK,SAASxG,EAAG,aAAa,CAACG,MAAM,CAAC,KAAO,OAAO,KAAO,WAAW,CAACH,EAAG,cAAc,CAACG,MAAM,CAAC,KAAOP,EAAI2C,SAAS,IAAI,IAAI,GAAG3C,EAAIoC,MAC3hCC,EAAkB,G,4LCsKD,EAArB,yG,0BACE,EAAAC,aAA6B,IAAI,OACjC,EAAAE,eAAiC,IAAI,OAErC,EAAAG,KAAuB,KACvB,EAAA+F,MAAyB,CACvB,CACE7B,KAAM,aACND,MAAO,YACP6B,IAAK,aAEP,CACE5B,KAAM,aACND,MAAO,SACP6B,IAAK,UAEP,CACE5B,KAAM,aACND,MAAO,aACP6B,IAAK,aAEP,CACE5B,KAAM,cACND,MAAO,WACP6B,IAAK,WAEP,CACE5B,KAAM,kBACND,MAAO,cACP6B,IAAK,YAEP,CACE5B,KAAM,kBACND,MAAO,OACP6B,IAAK,SAGT,EAAAL,YAAsB,EACtB,EAAAnG,WAAqB,EAtCvB,iEAoDIhC,KAAKmD,SApDT,4LAyDUnD,KAAKmD,OAzDf,sSA6DUH,EAAQ,IAAI,OAClBA,EAAME,WAAalD,KAAKiD,gBAAgBC,WACxCF,EAAMc,OAAS4E,SAAS1I,KAAK2I,OAAOC,OAAOzE,IAC3CnB,EAAM6F,SAAW,IAAI,OACrB7F,EAAM6F,SAASjH,WAAY,EAC3BoB,EAAM6F,SAAShB,QAAS,EACxB7E,EAAM6F,SAAS5G,UAAW,EAC1Be,EAAM6F,SAASjB,UAAW,EApE9B,UAqEU5H,KAAKqC,aACRyG,UAAU9F,GACVI,MAAK,SAACC,GACL,EAAKX,KAAOW,KAEbiB,OAAM,kBAAO,EAAK5B,KAAO,QA1EhC,wSA8EQ1C,KAAKgC,UA9Eb,qDAiFQhC,KAAK0C,KAjFb,gCAkFY1C,KAAKqC,aACR0G,WAAW/I,KAAK0C,KAAKoB,QAAU,GAC/BQ,OAAM,SAACC,GAAD,OAAgB,OAAuBC,UAAUD,MACvDnB,MAAK,kBAAM,EAAKiB,QAAQxB,KAAK,cArFtC,2IAyCI,OAAO7C,KAAK2I,OAAOK,OAzCvB,kCA6CI,OAAOhJ,KAAK0C,MAAQ1C,KAAK0C,KAAKuB,MAC1B,eAAW,2BAA6BjE,KAAK0C,KAAKuB,OAClD,oBA/CR,GAAkD,QAGrB,gBAA1B,eAAO,oB,sCAgDR,gBADC,eAAM,W,4BAGN,MArDkB,EAAoB,gBADxC,QACoB,WC7KgZ,I,yGCOjaa,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAA0C,EAAiB,QAUhC,IAAkBA,EAAW,CAACE,OAAA,KAAKiE,OAAA,KAAKC,QAAA,KAAMC,YAAA,KAAUC,eAAA,OAAeC,QAAA,Q,wKCrB1DC,EAAb,qLAMI,OAAO,IANX,8BAUI,OAAiBC,oBAVrB,GAAuC,QAC7B,gBAAP,kB,2BACmB,gBAAnB,eAAO,a,+BACmB,gBAA1B,eAAO,oB,sCAHGD,EAAiB,gBAD7B,QACYA,I,oCCPb,IAAM3H,EAA0B,CAC9B,SACA,SACA,YACA,WACA,YACA,QACA,UACA,YACA,SACA,cACA,YACA,YACA,aACA,aACA,WACA,QACA,YACA,YACA,aACA,YACA,cACA,YACA,UACA,SACA,WACA,aACA,YACA,iBACA,SACA,SACA,cACA,aACA,aACA,UACA,cACA,UACA,WACA,WACA,WACA,UACA,QACA,QACA,YACA,QACA,eACA,YACA,UACA,WACA,WACA,aACA,UACA,WACA,UACA,YACA,SACA,WACA,YACA,WACA,YACA,WACA,YACA,UACA,QACA,SACA,aACA,aACA,WACA,cACA,cACA,UACA,eACA,YACA,gBACA,UACA,WACA,YACA,YACA,cACA,YACA,UACA,UACA,iBACA,YACA,YACA,WACA,SACA,UACA,QACA,eACA,gBACA,kBACA,gBACA,UACA,SACA,QACA,SACA,QACA,QACA,eACA,cACA,YACA,YACA,YACA,cACA,QACA,YACA,YACA,WACA,cACA,aACA,eAKa,U,4PC3GF6H,EAAmB,eACnBC,EAAb,oCACE,KAAAC,YAAsB,GAoCXC,GAlCkC,OAkC/C,kLACUC,GACN,OAAO5J,KAAK6J,IAAL,UACF7J,KAAK8J,SADH,OACaN,EADb,YACiCxJ,KAAK+J,uBACzCH,OAJR,gCASYA,GACR,OAAO5J,KAAK6J,IAAL,UACF7J,KAAK8J,SADH,OACaN,EADb,YAEHI,EAAQI,SAFL,YAGDhK,KAAK+J,uBAAuBH,OAbtC,iCAiBazF,GACT,OAAOnE,KAAKiK,OAAL,UAAejK,KAAK8J,SAApB,OAA8BN,EAA9B,YAAkDrF,MAlB7D,6BAqBS0D,GACL,OAAO7H,KAAKkK,KAAL,UAAqBlK,KAAK8J,SAA1B,OAAoCN,GAAoB3B,KAtBnE,2BAyBOnD,GACH,OAAO1E,KAAKmK,IAAL,UACFnK,KAAK8J,SADH,OACaN,EADb,YACiC9E,EAAQsF,UAC9CtF,OA5BN,GAAqC,SAiCtB,U,0NCvDT0F,EAAa,eAAO,EAAD,mBAIvB,eAJuB,cAAzB,QAae,OAAAA,EAAA,gBAAoC,CACjDzC,KADiD,UAGjD0C,cAHiD,EAKjDC,MAAO,CACLC,SADK,QAELpG,GAFK,OAGLqG,MAHK,OAIL7C,KAJK,OAKL8C,QAAS,CACPpE,KADO,OAEPqE,QAAS,aAEXC,OAAQ,CACNtE,KADM,OAENqE,QAAS,YAEXE,SAbK,QAcLpK,MAAO,CACLkK,QAAS,OAIb/G,KAAM,iBAAO,CACXkH,WAAW,IAGbC,SAAU,CACRC,QADQ,WAEN,sCACE,uBAAwB/K,KADnB,WAEL,sBAAuBA,KAFlB,WAGFA,KAHE,cAIFA,KAAKgL,eAGZC,cATQ,WAUN,OAAO,2CAAP,OAEFC,aAZQ,WAaN,OAAOlL,KAAKmL,SACRnL,KADG,OAEHA,KAFJ,SAIFoL,WAjBQ,WAkBN,OAAO,wCAAP,OAEFC,SAAU,wBApBF,SAqBRC,SArBQ,WAsBN,OAAQtL,KAAKuL,YAAN,IAAP,UAEFC,WAxBQ,WAyBN,OAAOxL,KAAKuK,YACRvK,KAAF,YACAA,KAAKuL,WAFP,YAKFE,WA9BQ,WA+BN,OAAOzL,KAAK4K,YACR5K,KAAF,YACAA,KAAKuL,WAFP,YAKFG,aApCQ,WAqCN,OAAI1L,KAAK2H,OAAS3H,KAAlB,WACSA,KAAP,KAGKA,KAAKuL,WAAW5D,MAAQ,SAAxB,OAAiC3H,KAAKuL,WAA7C,OAEFI,YA3CQ,WA4CN,OAAO,yCAAP,OAEFC,gBA9CQ,WA+CN,OAAQ5L,KAAKuL,YAAN,qBAA2CvL,KAAlD,gBAIJ6L,QAAS,CACPC,SADO,SACC,GAIN,OAAO,kDAAP,IAEFC,SAPO,WAQL,OAAK/L,KAAL,SAEOA,KAAKE,eAAe,EAApB,KAA4B,CACjCY,GAAI,CAEFkL,MAAO,QAET1L,MAAO,CACL2L,IAAKjM,KAAKoL,YAEZd,MAAO,CACL4B,MAAOlM,KADF,gBAELmM,QAASnM,KAAKsL,WAEf,eAAQtL,KAAR,UAA0BA,KAZ7B,OAF2B,MAgB7BoM,SAxBO,WAyBL,OAAOpM,KAAKE,eAAe,MAAO,CAChCG,YAAa,sCACZ,CACDL,KAAKE,eAAe,EAApB,KAA2BF,KAAKqM,aAAarM,KAAlB,gBAAwC,CACjEsK,MAAO,CACLgC,MAAOtM,KAAKuL,YAAcvL,KAAKuL,WAAWe,SAE1CtM,KALH,cAMDA,KAAK8L,SAAS,OAAd,OAAc,CAAd,CACEnE,KAAM3H,KADM,aAEZQ,MAAOR,KAFK,OAGTA,KAAKuM,SAEVvM,KAAKwM,UAAUxM,KAAKqM,aAAarM,KAbnC,iBAgBFyM,QAzCO,SAyCA,GACLzM,KAAA,aACAA,KAAA,kBAEF0M,OA7CO,SA6CD,GACJ1M,KAAA,aACAA,KAAA,iBAEF2M,SAjDO,WAkDD3M,KAAKwL,YAAcxL,KAAnB,YAAsCA,KAA1C,UAEAA,KAAA,UAEF4M,UAAW,cAGb9M,OAxIiD,SAwI3C,GACJ,IAAM6D,EAAkB,CACtBtD,YADsB,UAEtByB,MAAO9B,KAFe,QAGtBc,GAAI,eAAe,CACjBkL,MAAOhM,KAAK2M,UACX3M,KAFe,aAKpB,OAAO6M,EAAE,MAAOlJ,EAAM,CACpB3D,KADoB,WAEpBA,KAFF,iB,gJClLS8M,EAAoB,gBAEpBC,EAAb,+LAEIrI,GAEA,OAAO1E,KAAKmK,IAAL,UACFnK,KAAK8J,SADH,OACagD,EADb,yBAELpI,KANN,qDAWI1B,GAEA,OAAOhD,KAAK6J,IAAL,UAEH7J,KAAK8J,SAFF,OAGFgD,EAHE,iCAGwC9M,KAAK+J,uBAChD/G,SAjBR,GAAsC,S,sHCJ1BgK,E,qCAAZ,SAAYA,GACV,sBACA,sBACA,2BAHF,CAAYA,MAAe,K,IAMNC,E,WAArB,oCAKE,KAAAC,WAAqB,a,qDAGnBC,EACAC,EACAC,EACAC,GA4BA,GAAwB,MAApBtN,KAAKuN,YAAqB,OAAO,EAErC,IAAMC,GAAQxN,KAAKuN,YAAYE,MAAMC,MAAK,SAAAC,GAAC,OAAIA,EAAEC,WAAaT,KAC9D,OAAY,MAARK,I,kCAxCJ,OAAO,OAAMK,MAAMC,a,+CCXvB,IAAIhO,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,YAAY,CAACA,EAAG,MAAM,CAACE,YAAY,mDAAmD,CAACF,EAAG,aAAa,CAACG,MAAM,CAAC,OAAS,CAAC,CAAEqG,MAAO,iBAAmB,CAAEA,MAAO,uBAAwBxG,EAAG,cAAc,GAAGA,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,KAAK,CAACJ,EAAIc,GAAG,uBAAuBV,EAAG,iBAAiB,CAAC2H,YAAY/H,EAAIgI,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAAC9H,EAAG,KAAK,CAACJ,EAAIc,GAAG,eAAeV,EAAG,MAAM,CAACA,EAAG,KAAKJ,EAAIuI,GAAIvI,EAAU,QAAE,SAASwI,GAAO,OAAOpI,EAAG,KAAK,CAAC6H,IAAIO,EAAM5B,OAAO,CAACxG,EAAG,cAAc,CAACG,MAAM,CAAC,GAAKiI,EAAMC,MAAM,CAACrI,EAAG,IAAI,CAAC2B,MAAM,CAACyG,EAAM3B,QAAQ7G,EAAIc,GAAG,IAAId,EAAI2H,GAAGa,EAAM5B,OAAO,QAAQ,MAAK,OAAOoH,OAAM,MAAS,CAAC5N,EAAG,aAAa,CAACG,MAAM,CAAC,KAAO,OAAO,KAAO,WAAW,CAACH,EAAG,gBAAgB,IAAI,IAAI,IAC/yBiC,EAAkB,G,4DCsCD,EAArB,yG,0BAEE,EAAA4L,OAA0B,CACxB,CACEpH,KAAM,aACND,MAAO,kBACP6B,IAAK,gCANX,YAAoD,QAA/B,EAAsB,gBAD1C,QACoB,WCvCgZ,I,YCOja1D,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAA0C,E,oDClBf,IAAIhF,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACG,MAAM,CAAC,SAAWP,EAAI8F,SAAS,QAAU9F,EAAI+F,QAAQ,WAAY,EAAK,YAAa,EAAM,QAAU/F,EAAIgG,YAClN3D,EAAkB,G,oICiBD,EAArB,yG,0BAGE,EAAAG,eAAiC,IAAI,OAErC,EAAAuD,QAAwB,CACtB,CACEM,KAAM,WACN5F,MAAO,WACP6F,KAAM,OAAgBC,KACtBC,UAAU,EACVC,cAAe,SACfC,cAAe,CAAC,EAAKtF,OAAOC,WAE9B,CACEgF,KAAM,kBACN5F,MAAO,cACP6F,KAAM,OAAgB4H,SACtB1H,UAAU,GAEZ,CACEH,KAAM,uBACN5F,MAAO,eACP6F,KAAM,OAAgB6H,QACtB3H,UAAU,GAEZ,CACEH,KAAM,QACN5F,MAAO,WACP6F,KAAM,OAAgBC,KACtBC,UAAU,EACVC,cAAe,SACfC,cAAe,CAAC,EAAKtF,OAAOC,WAE9B,CACEgF,KAAM,UACN5F,MAAO,qBACP6F,KAAM,OAAgB8H,SACtB5H,UAAU,EACVC,cAAe,SACfC,cAAe,CAAC,EAAKtF,OAAOC,UAC5BgN,IAAK,CACHC,MAAO,GACPC,SAAU,QACVC,UAAW,qBACX/N,MAAO,QAKb,EAAAqF,SAAmB,GACnB,EAAAE,QAAkB,cAnDpB,2NAsDI/F,KAAK6F,SAAW,aAAe7F,KAAK0C,KAAKoB,OAAS,UAE5Cd,EAAgB,cAAgBhD,KAAKiD,gBAAgBC,WAxD/D,SAyDUlD,KAAKuC,eAAeY,KAAK,wBAAyBH,GAAOI,MAAK,SAACC,GAEnE,EAAKyC,QAAQ,GAAGsI,IAAIC,MAAQhL,EAC5B,EAAKyC,QAAQ,GAAGsI,IAAI5N,MAAQ6C,EAAO,MA5DzC,8GAAkD,QACxC,gBAAP,kB,2BAC0B,gBAA1B,eAAO,oB,sCAFW,EAAoB,gBADxC,QACoB,WClBgZ,I,YCOjayB,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAA0C,E,oDClBf,IAAIhF,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACG,MAAM,CAAC,SAAY,aAAgBP,EAAI2C,KAAW,OAAI,SAAU,QAAU3C,EAAI+F,QAAQ,QAAU/F,EAAIgG,QAAQ,OAAU,UAAahG,EAAI2C,KAAW,OAAI,SAAU,iBAAkB,MAC7RN,EAAkB,G,oFCgBD,EAArB,yG,0BAIE,EAAA0D,QAAwB,CACtB,CACEM,KAAM,SACN5F,MAAO,QACP6F,KAAM,OAAgBC,KACtBC,UAAU,EACVC,cAAe,SACfC,cAAe,CAAC,EAAKtF,OAAOuF,UAAU,KAExC,CACEN,KAAM,WACN5F,MAAO,WACP6F,KAAM,OAAgBmI,QACtBjI,UAAU,EACVC,cAAe,SACfC,cAAe,CAAC,EAAKtF,OAAOuF,UAAU,KAExC,CACEN,KAAM,UACN5F,MAAO,WACP6F,KAAM,OAAgB6H,QACtB3H,UAAU,EACVC,cAAe,WAGnB,EAAAT,QAAkB,eA7BpB,YAAqD,QAC3C,gBAAP,kB,2BAC0B,gBAA1B,eAAO,oB,sCAFW,EAAuB,gBAD3C,QACoB,WCjBmZ,I,YCOpajB,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAA0C,E,+MCCA,sBAAO,EAAD,KAEnB,eAAc,CAAE2J,UAAW,CAAC,UAFf,eAIN,CACP9G,KADO,eAGP+G,WAAY,CAAEC,OAAA,QAEdrE,MAAO,CACLsE,OADK,QAELrE,SAFK,QAGLsE,OAAQ,CACNxI,KADM,OAENqE,QAFM,EAGNoE,UAAY,SAAAC,GAAD,OAAiBA,EAAA,IAAY,IAE1CC,SAAU,CACR3I,KADQ,OAERqE,QAAS,SAEXuE,SAAU,CACR5I,KADQ,OAERqE,QAAS,SAEXwE,aAAc,CAACC,OAhBV,QAiBL3O,MAAO,CACL6F,KADK,OAELqE,QAAS,GAEX0E,cAAe,CACb/I,KADa,OAEbqE,QAAS,sCAEX2E,qBAAsB,CACpBhJ,KADoB,OAEpBqE,QAAS,6CAEX4E,kBAAmB,CACjBjJ,KADiB,OAEjBqE,QAAS,0CAEX6E,cAAe,CACblJ,KADa,OAEbqE,QAAS,sCAEX8E,iBAAkB,CAChBnJ,KADgB,OAEhBqE,QAAS,0CAIb/G,KAhDO,WAiDL,MAAO,CACL8L,WADK,EAELC,SAAU,OAId5E,SAAU,CACRC,QADQ,WAEN,uBACE,gBADK,EAEL,uBAAwB/K,KAFnB,OAGL,yBAA0BA,KAHrB,UAIFA,KAAK2P,eAIZtB,MAVQ,WAWN,IAAMa,EAAexG,SAAS1I,KAAD,aAA7B,IAEM4P,EAAYC,KAAA,IAChBA,KAAA,UAA6B7P,KADb,OAEhB6P,KAAA,MAAY7P,KAAZ,aAAgCA,KAFhB,OAGhBA,KAHF,QAMA,GAAIA,KAAK6O,QAAT,EACE,OAAO7O,KAAK8P,MAAM,EAAG9P,KAArB,QAGF,IAAM+P,EAAOH,EAAA,QAAb,EACMI,EAAOH,KAAA,MAAWD,EAAxB,GACMK,EAAQjQ,KAAK6O,OAASmB,EAAO,EAAnC,EAEA,GAAIhQ,KAAKQ,MAAQwP,GAAQhQ,KAAKQ,MAA9B,EAA6C,CAC3C,IAAM0P,EAAQlQ,KAAKQ,MAAQwP,EAA3B,EACMG,EAAMnQ,KAAKQ,MAAQwP,EAAO,EAAhC,EAEA,OAAO,SAAP,sBAAqBhQ,KAAK8P,MAAMI,EAAzB,IAAP,CAAO,MAA6ClQ,KAApD,SACK,GAAIA,KAAKQ,QAAT,EAAyB,CAC9B,IAAM,EAAMR,KAAKQ,MAAQwP,EAAO,EAAhC,EACA,+BAAWhQ,KAAK8P,MAAM,EAAf,IAAP,CAAO,MAA+B9P,KAAtC,SACK,GAAIA,KAAKQ,QAAT,EAA0B,CAC/B,IAAM,EAAQR,KAAKQ,MAAQwP,EAA3B,EACA,OAAO,SAAP,sBAAqBhQ,KAAK8P,MAAM,EAAO9P,KAAvC,UAEA,+BACKA,KAAK8P,MAAM,EADT,IAAP,CAAO,OAAP,eAGK9P,KAAK8P,MAAMG,EAAOjQ,KAHvB,YASNoQ,MAAO,CACL5P,MADK,WAEHR,KAAA,SAIJqQ,QA7GO,WA8GLrQ,KAAA,QAGF6L,QAAS,CACPpJ,KADO,WACH,WACFzC,KAAA,cAEAA,KAAA,UAAeA,KAHb,UAKFsQ,YAAW,kBAAO,WAAgB,EAAxB,QAAV,MAEFC,SARO,WASL,IAAMC,EAAQxQ,KAAKyQ,KAAOzQ,KAAKyQ,IAAjB,cACVzQ,KAAKyQ,IAAIC,cADC,YAEVC,OAFJ,WAIA3Q,KAAA,WAAkB6P,KAAA,OAAYW,EAAD,IAA7B,KAEFI,KAfO,SAeH,GACFC,EAAA,iBACA7Q,KAAA,cAAoBA,KAAKQ,MAAzB,GACAR,KAAA,eAEF8Q,SApBO,SAoBC,GACND,EAAA,iBACA7Q,KAAA,cAAoBA,KAAKQ,MAAzB,GACAR,KAAA,mBAEF8P,MAzBO,SAyBF,KACH,IAAMA,EAAN,GAEAiB,EAAOA,EAAA,EAAAA,EAAP,EAEA,IAAK,IAAInO,EAAT,EAAmBA,GAAnB,EAA4BA,IAC1BkN,EAAA,QAGF,UAEFkB,QApCO,SAoCA,WACL,OAAOnE,EAAE,KAAM,CACbA,EAAE,SAAU,CACVxM,YADU,2BAEVyB,MAAO,CACL,qCAAsCyI,GAExCjK,MAAO,CACL+F,KADK,SAEL,aAAcmE,GAEhB1J,GAAIyJ,EAAW,GAAK,CAAEyB,MAAO/D,IAC5B,CAAC4E,EAAE,EAAD,KAAQ,CAXf,SAcFoE,QAnDO,SAmDA,KAAsC,WACrC/E,EAAyBtJ,IAAM5C,KAAP,QAAuBA,KAAKkM,OAA1D,WACMgF,EAAgBtO,IAAM5C,KAA5B,MACMmR,EAAYD,EAAgBlR,KAAH,qBAA+BA,KAA9D,cAEA,OAAO6M,EAAE,SAAU7M,KAAKoR,mBAAmBlF,EAAO,CAChD7L,YADgD,qBAEhDyB,MAAO,CACL,6BAA8Bc,IAAM5C,KAAKQ,OAE3CF,MAAO,CACL+F,KADK,SAEL,eAFK,EAGL,aAAcrG,KAAKqR,SAASC,KAAKC,EAAEJ,EAAWvO,IAEhD9B,GAAI,CACFkL,MAAO,kBAAM,uBAEb,CAACpJ,EAbL,cAeF4O,SAvEO,SAuEC,GAAkB,WACxB,OAAOxR,KAAKqO,MAAMoD,KAAI,cACpB,OAAO5E,EAAE,KAAM,CAAE7E,IAAK0J,GAAS,CAC7BC,MAAMxC,OAANvM,IAAmBiK,EAAE,OAAQ,CAAE/K,MAAO,sBAAwB,CAACc,EAA/D,aAAgF,YADlF,SAKJgP,QA9EO,SA8EA,KACL,OAAO/E,EAAE,KAAM,CACb6B,WAAY,CAAC,CACXmD,UAAW,CAAEC,OAAO,GACpBnK,KAFW,SAGXnH,MAAOR,KAAKuQ,WAEdzO,MAAO9B,KAAK+K,SANd,KAWJjL,OA3MO,SA2MD,GACJ,IAAMiS,EAAW,CACf/R,KAAKgR,QAAQnE,EACX7M,KAAKqR,SAASW,IAAMhS,KAApB,SAAoCA,KADtC,SAEEA,KAAKQ,OAFP,EAGER,KAHF,SAIEA,KAAKqR,SAASC,KAAKC,EAAEvR,KALR,oBAMfA,KAAKwR,SANU,GAOfxR,KAAKgR,QAAQnE,EACX7M,KAAKqR,SAASW,IAAMhS,KAApB,SAAoCA,KADtC,SAEEA,KAAKQ,OAASR,KAFhB,OAGEA,KAHF,KAIEA,KAAKqR,SAASC,KAAKC,EAAEvR,KAXzB,iBAcA,OAAO6M,EAAE,MAAO,CACdvM,MAAO,CACLkN,KADK,aAEL,aAAcxN,KAAKqR,SAASC,KAAKC,EAAEvR,KAArB,oBAEf,CAACA,KAAK4R,QAAQ/E,EALjB,S,sNCtOSoF,EAAb,oCACE,KAAAC,QAAkB,EAClB,KAAAC,KAAe,EACf,KAAAC,SAAmB,GACnB,KAAAC,MAAgB,EAChB,KAAA1O,KAAc,GACd,KAAAmC,QAAuC,GACvC,KAAAwM,SAAmB,GAIRC,EAAb,mMAKI,GAAKvS,KAAK2I,OAAO3F,MAAMwP,KAEhB,CAEH9J,SAAS1I,KAAK2I,OAAO3F,MAAMwP,MAAkBxS,KAAKyS,YAAYL,SACxD,OAJRpS,KAAKyS,YAAYN,KAAO,IAN9B,+BAyBWO,GACP1S,KAAKyS,YAAY9O,KAAO+O,EAAK/O,KAC7B3D,KAAKyS,YAAYJ,MAAQK,EAAKL,QA3BlC,kCA+BIrS,KAAKyS,YAAYJ,MAAQ,EACzBrS,KAAKyS,YAAY9O,KAAO,KAhC5B,qCAmCiB2O,GACbtS,KAAKyS,YAAYH,QAAUA,IApC/B,iCAwCI,GAAItS,KAAK2I,OAAO3F,QACVhD,KAAK2I,OAAO3F,MAAM2P,OACpB3S,KAAKyS,YAAYL,SAAW1J,SAAS1I,KAAK2I,OAAO3F,MAAM2P,OAErD3S,KAAK2I,OAAO3F,MAAMwP,MAAM,CAC1B,IAAII,EACFlK,SAAS1I,KAAK2I,OAAO3F,MAAMwP,MAC3BxS,KAAKyS,YAAYL,SACnBQ,GAAQ,EACR5S,KAAKyS,YAAYN,KAAOS,EAG5B5S,KAAKyS,YAAYP,QAAS,IApD9B,iCAuDaW,GACT,GAAI7S,KAAKyS,YAAYN,MAAQ,EAAG,CAC9B,IAAMS,EAAIE,OAAOC,OAAO,GAAI/S,KAAK2I,OAAO3F,MAAO,CAAEwP,KAAM,IACvDI,EAAEC,EAAOrS,OAASqS,EAAOG,WACzBhT,KAAKqE,QAAQxB,KAAK,CAAEG,MAAO4P,SAE3B5S,KAAKyS,YAAYN,KAAO,IA7D9B,sCAiEkBU,GACdA,EAAOG,WAAa,GACpBhT,KAAKiT,WAAWJ,KAnEpB,4CAuEI7S,KAAKkT,wBAvET,wCA2EIlT,KAAKkT,wBA3ET,4CA+EI,GAAIlT,KAAKyS,YAAYP,OAAQ,CAC3B,IAAMU,EAAIE,OAAOC,OAAO,GAAI/S,KAAK2I,OAAO3F,MAAO,CAC7CwP,MAAOxS,KAAKyS,YAAYN,KAAO,GAAKnS,KAAKyS,YAAYL,SACrDO,KAAM3S,KAAKyS,YAAYL,WAazBpS,KAAKqE,QAAQxB,KAAK,CAAEG,MAAO4P,IAAKtO,OAAM,WACpC6O,QAAQC,IAAI,oBAhGpB,qCAeI,OAEE,MADApT,KAAKyS,YAAY3M,QAAQ4H,MAAK,SAAC9K,GAAD,OAAwBA,EAAEyQ,gBAhB9D,gCAsBI,OAAOxD,KAAKyD,KAAKtT,KAAKyS,YAAYJ,MAAQrS,KAAKyS,YAAYL,cAtB/D,GAAgC,QAI9B,gBADC,eAAM,sB,qCASN,MAZUG,EAAU,gBADtB,QACYA,I,oCCtBb,IAAIzS,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAeJ,EAAIwT,GAAG,CAACjT,MAAM,CAAC,QAAUP,EAAIiC,UAAU,eAAe,eAAe,OAAS,oCAAoClB,GAAG,CAAC,OAASf,EAAIyT,WAAW,eAAezT,EAAI0T,QAAO,KACtRrR,EAAkB,G,wHCiBD,EAArB,yG,0BAGE,EAAAJ,WAAqB,EACrB,EAAA0R,cAAiC,IAAI,OAJvC,0DAMW1P,GAAW,WAClB,IAAIhE,KAAKgC,UAET,GADAhC,KAAKgC,WAAY,EACbgC,EAAM,CACR,IAAMzD,EAAQ,IAAI,OAClBA,EAAMoT,OAAS3T,KAAK2T,QAAU,KAC9BpT,EAAMqT,MAAQ5P,EACdhE,KAAK0T,cACFG,kBAAkBtT,GAClB6C,MAAK,SAACM,GACDA,EAASoQ,UACX,EAAKC,MAAM,SAAUrQ,EAASsF,MAE9B,OAAuBgL,iBACrB,OACA,yCAIL1P,OAAM,kBACL,OAAuB0P,iBACrB,OACA,yDAGHvP,SAAQ,kBAAO,EAAKzC,WAAY,UAEnChC,KAAKgC,WAAY,EACjBhC,KAAK+T,MAAM,SAAU,QAlC3B,GAA0D,QAChD,gBAAP,kB,4BACO,gBAAP,kB,6BAFkB,EAA4B,gBADhD,QACoB,WClB2Y,I,6CCO5ZjP,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,OAAA0C,EAAiB,QAKhC,IAAkBA,EAAW,CAACmP,aAAA,Q,2CCvB9B,IAAInU,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,QAAQ,CAACG,MAAM,CAAC,OAAQ,EAAM,QAAS,IAAQ,CAACH,EAAG,SAAS,CAACsF,IAAI,OAAOpF,YAAY,eAAeC,MAAM,CAAC,OAAS,IAAI,OAAS,QAAQQ,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBjB,EAAImU,oBAAoBnT,KAAUR,MAAM,CAACC,MAAOT,EAAW,QAAEU,SAAS,SAAUC,GAAMX,EAAImB,QAAQR,GAAKE,WAAW,YAAY,CAACT,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACN,EAAIc,GAAG,2BAA2BV,EAAG,aAAa,CAACG,MAAM,CAAC,KAAO,cAAc,KAAO,IAAI,SAAW,GAAG,MAAQ,mBAAmB,MAAQ,CAACP,EAAIoB,OAAOuF,UAAU,KAAKnG,MAAM,CAACC,MAAOT,EAAIoU,QAAe,QAAE1T,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIoU,QAAS,UAAWzT,IAAME,WAAW,qBAAqBT,EAAG,MAAM,CAACE,YAAY,+CAA+C,CAACF,EAAG,aAAa,CAACG,MAAM,CAAC,gBAAe,EAAK,MAAQ,sBAAsBC,MAAM,CAACC,MAAOT,EAAIoU,QAAgB,SAAE1T,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIoU,QAAS,WAAYzT,IAAME,WAAW,sBAAsBT,EAAG,QAAQ,CAACG,MAAM,CAAC,UAAYP,EAAImB,QAAQ,QAAUnB,EAAIiC,UAAU,MAAQ,UAAU,KAAO,WAAW,CAACjC,EAAIc,GAAG,gBAAgB,IAAI,GAAGV,EAAG,KAAK,CAACE,YAAY,SAAUN,EAAIqU,YAAYvF,OAAS,EAAG1O,EAAG,MAAM,CAACE,YAAY,kBAAkBN,EAAIuI,GAAIvI,EAAe,aAAE,SAASmH,EAAKwK,GAAO,OAAOvR,EAAG,MAAM,CAAC6H,IAAId,EAAKmN,cAAchU,YAAY,0CAA0CyB,MAAO/B,EAAIuU,OAAO5C,GAAuB,aAAd,aAA4B,CAAG3R,EAAIuU,OAAO5C,GAAmK3R,EAAIoC,KAA/JhC,EAAG,MAAM,CAACE,YAAY,SAAS,CAAE6G,EAAS,KAAE/G,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ4G,EAAKxE,SAAS,GAAG3C,EAAIoC,OAAgBhC,EAAG,MAAM,CAACE,YAAY,QAAQyB,MAAM/B,EAAIuU,OAAO5C,GAAS,WAAa,IAAI,CAACvR,EAAG,MAAM,CAACE,YAAY,wCAAwC,CAACF,EAAG,SAAS,CAACJ,EAAIc,GAAGd,EAAI2H,GAAG3H,EAAIwU,GAAG,WAAPxU,CAAmBmH,EAAKsN,iBAAiBzU,EAAIc,GAAG,MAAOqG,EAAgB,YAAE/G,EAAG,OAAO,CAACJ,EAAIc,GAAGd,EAAI2H,GAAGR,EAAKuN,YAAY9M,SAASxH,EAAG,IAAI,CAACJ,EAAIc,GAAG,0BAA0Bd,EAAIc,GAAG,gBAAgBV,EAAG,MAAM,CAACE,YAAY,yCAAyCqU,SAAS,CAAC,UAAY3U,EAAI2H,GAAGR,EAAKyN,cAAe5U,EAAIuU,OAAO5C,GAAQvR,EAAG,MAAM,CAACE,YAAY,SAAS,CAAE6G,EAAS,KAAE/G,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQ4G,EAAKxE,SAAS,GAAG3C,EAAIoC,OAAOpC,EAAIoC,UAAS,GAAGhC,EAAG,UAAU,CAACG,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,KAAO,SAAS,CAACP,EAAIc,GAAG,iBAAiBV,EAAG,SAAS,CAACJ,EAAIc,GAAG,iBAAiBd,EAAIc,GAAG,oBAAoB,IAAI,IACh7EuB,EAAkB,G,8ICKT,EAAb,wLACgB+R,GACZ,OAAOnU,KAAKkK,KAAL,UACFlK,KAAK8J,QADH,qBACuBqK,EAAQrQ,OAD/B,aAELqQ,KAJN,kCASIvK,GAEA,OAAO5J,KAAK6J,IAAL,UACF7J,KAAK8J,QADH,qBAEHF,EAAQ9F,OAFL,qBAGQ9D,KAAK+J,uBAAuBH,SAd/C,GAA0C,Q,oCCuErB,EAArB,yG,0BAGE,EAAAgL,qBAA6C,IAAI,EACjD,EAAAT,QAAoC,IAAI,OACxC,EAAAC,YAAgC,GAChC,EAAApS,WAAqB,EACrB,EAAAd,SAAmB,EAPrB,uNAUUlB,KAAK6U,eAVf,2SAcQ7U,KAAKgC,UAdb,wDAeUgB,EAAQ,IAAI,OAClBA,EAAME,WAAalD,KAAKiD,gBAAgBC,WACxCF,EAAMc,OAAS9D,KAAK0C,KAAKoB,OACzB9D,KAAKgC,WAAY,EAlBrB,SAmBUhC,KAAK4U,qBAAqBE,YAAY9R,GACzCI,MAAK,SAACC,GACL,EAAK+Q,YAAc/Q,EAAOM,QAE3BW,OAAM,SAACC,GAAD,OAAgB,OAAuBC,UAAUD,MACvDE,SAAQ,kBAAO,EAAKzC,WAAY,KAxBvC,gTA4BQhC,KAAKgC,UA5Bb,wDA6BIhC,KAAKgC,WAAY,EACjBhC,KAAKmU,QAAQrQ,OAAS9D,KAAK0C,KAAKoB,OA9BpC,SA+BU9D,KAAK4U,qBACRG,cAAc/U,KAAKmU,SACnB/Q,KAFG,wCAEE,qGACJ,EAAKpB,WAAY,EACjB,OAAuBoC,mBACrB,UACA,kCAEF,EAAK+P,QAAQQ,QAAU,GACvB,EAAKR,QAAQa,UAAW,EACvB,EAAKC,MAAMC,KAAaC,kBARrB,SASE,EAAKN,eATP,4CAWLvQ,OAAM,SAACC,GACN,EAAKvC,WAAY,EACjB,OAAuBwC,UAAUD,MA9CzC,sIAkDSmN,GACL,OAAOA,EAAQ,GAAK,MAnDxB,GAAoD,QAC1C,gBAAP,kB,2BAC0B,gBAA1B,eAAO,oB,sCAFW,EAAsB,gBAD1C,QACoB,WC7EkZ,I,yGCQna5M,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,WACA,MAIa,aAAA0C,EAAiB,QAShC,IAAkBA,EAAW,CAACsQ,SAAA,KAAOpQ,OAAA,KAAKqQ,YAAA,KAAUpQ,QAAA,KAAMqQ,YAAA,Q,2CC5B1D,IAAIxV,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,QAAQ,CAACG,MAAM,CAAC,OAAQ,EAAM,QAAS,IAAQ,CAACH,EAAG,oBAAoB,CAACG,MAAM,CAAC,SAAWP,EAAIkC,aAAa,IAAI,IAClPG,EAAkB,G,oICeD,EAArB,yG,0BAGE,EAAAC,aAA6B,IAAI,OACjC,EAAAJ,SAAyC,KAJ3C,uNAOUjC,KAAK+C,kBAPf,iTAYUc,EAAgB,IAAI,OAC1BA,EAAcC,OAAS9D,KAAK0C,KAAKoB,OACjCD,EAAcX,WAAalD,KAAKiD,gBAAgBC,WAdpD,SAeUlD,KAAKqC,aACR0B,YAAYF,GACZT,MAAK,SAACM,GAAD,OAAsC,EAAKzB,SAAWyB,KAjBlE,8GAAoD,QAC1C,gBAAP,kB,2BAC0B,gBAA1B,eAAO,oB,sCAFW,EAAsB,gBAD1C,QACoB,WChBkZ,I,YCOnaoB,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAA0C,E,kDClBf,IAAIhF,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,YAAY,CAACA,EAAG,MAAM,CAACE,YAAY,mDAAmD,CAACF,EAAG,aAAa,CAACG,MAAM,CAAC,OAAS,CAC1N,UACD,mBACGH,EAAG,cAAc,GAAGA,EAAG,MAAM,CAACE,YAAY,mDAAmD,CAACF,EAAG,KAAK,CAACJ,EAAIc,GAAG,kBAAkBV,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQ,UAAU,QAAU,IAAIQ,GAAG,CAAC,MAAQf,EAAIwV,aAAa,CAACpV,EAAG,IAAI,CAACE,YAAY,gBAAgBN,EAAIc,GAAG,kBAAkB,KAAKV,EAAG,iBAAiB,CAAC2H,YAAY/H,EAAIgI,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAAC9H,EAAG,cAAc4N,OAAM,MAAS,CAAEhO,EAAI0S,YAAkB,OAAEtS,EAAG,eAAe,CAACE,YAAY,0BAA0BC,MAAM,CAAC,QAAUP,EAAI0S,YAAY3M,QAAQ,MAAQ/F,EAAI0S,YAAY9O,KAAK,QAAU5D,EAAI0S,YAAYH,QAAQ,sBAAsBvS,EAAI0S,YAAYJ,MAAM,qBAAoB,EAAM,uBAAsB,GAAMvR,GAAG,CAAC,YAAYf,EAAIyV,aAAa1N,YAAY/H,EAAIgI,GAAG,CAAEhI,EAAkB,eAAE,CAACiI,IAAI,eAAeC,GAAG,SAASxC,GAC1wB,IAAIgQ,EAAUhQ,EAAIgQ,QAC1B,MAAO,CAACtV,EAAG,KAAK,CAACE,YAAY,gBAAgBN,EAAIuI,GAAG,GAAU,SAASuK,EAAOnB,GAAO,OAAOvR,EAAG,KAAK,CAAC6H,IAAK,cAAgB0J,GAAQ,CAAEmB,EAAiB,WAAE,CAAC1S,EAAG,eAAe,CAACG,MAAM,CAAC,WAAY,EAAK,gBAAe,EAAK,MAAQ,WAAWQ,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOhB,EAAIkT,WAAWJ,IAAS,cAAc,SAAS9R,GAAQ,OAAOhB,EAAI2V,gBAAgB7C,KAAUtS,MAAM,CAACC,MAAOqS,EAAiB,WAAEpS,SAAS,SAAUC,GAAMX,EAAIuB,KAAKuR,EAAQ,aAAcnS,IAAME,WAAW,wBAAwBb,EAAIoC,MAAM,MAAK,MAAM,KAAK,CAAC6F,IAAI,cAAcC,GAAG,SAASxC,GAC9hB,IAAIyB,EAAOzB,EAAIyB,KACvB,MAAO,CAAC/G,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,QAAU,GAAG,IAAM,IAAIQ,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO4U,kBAAyB5V,EAAI6V,SAAS1O,MAAS,CAAC/G,EAAG,IAAI,CAACE,YAAY,sCAAsC,CAAC2H,IAAI,SAASC,GAAG,WAAW,MAAO,CAAC9H,EAAG,MAAM,CAACE,YAAY,6EAA6E,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,QAAS,EAAK,OAASP,EAAI8V,UAAU,gBAAgB,GAAG/U,GAAG,CAAC,MAAQf,EAAI+V,iBAAiBvV,MAAM,CAACC,MAAOT,EAAI0S,YAAgB,KAAEhS,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAI0S,YAAa,OAAQ/R,IAAME,WAAW,sBAAsBT,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,OAAO,CAACE,YAAY,kBAAkB,CAACN,EAAIc,GAAGd,EAAI2H,GAAG3H,EAAI0S,YAAYJ,OAAO,cAAclS,EAAG,OAAO,CAAC4V,YAAY,CAAC,MAAQ,UAAU,CAAC5V,EAAG,WAAW,CAACG,MAAM,CAAC,MAAQ,YAAY,MAAQ,CAAC,EAAG,GAAI,GAAI,KAAK,gBAAe,GAAMQ,GAAG,CAAC,MAAQf,EAAIiW,qBAAqBzV,MAAM,CAACC,MAAOT,EAAI0S,YAAoB,SAAEhS,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAI0S,YAAa,WAAY/R,IAAME,WAAW,2BAA2B,MAAM,KAAKmN,OAAM,IAAO,MAAK,KAAQhO,EAAIoC,MAAM,IAAI,IAC3kCC,EAAkB,G,sMCRlB,EAAS,WAAa,IAAIrC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAIc,GAAG,UAAUV,EAAG,MAAM,CAACA,EAAG,yBAAyB,CAACE,YAAY,UAAUC,MAAM,CAAC,WAAY,GAAOC,MAAM,CAACC,MAAOT,EAAiB,cAAEU,SAAS,SAAUC,GAAMX,EAAIkW,cAAcvV,GAAKE,WAAW,kBAAkB,CAACT,EAAG,UAAU,CAACE,YAAY,UAAUC,MAAM,CAAC,MAAQ,QAAQ,MAAQ,KAAK,gBAAe,KAAQP,EAAIuI,GAAIvI,EAAS,OAAE,SAASmH,GAAM,OAAO/G,EAAG,UAAU,CAAC6H,IAAK,WAAcd,EAAe,WAAG7G,YAAY,UAAUC,MAAM,CAAC,MAAQ4G,EAAKP,MAAM,MAAQO,EAAKH,WAAW,gBAAe,SAAW,IAAI,GAAG5G,EAAG,KAAK,CAACJ,EAAIc,GAAG,WAAWV,EAAG,MAAM,CAACA,EAAG,yBAAyB,CAACE,YAAY,UAAUC,MAAM,CAAC,WAAY,GAAOC,MAAM,CAACC,MAAOT,EAAkB,eAAEU,SAAS,SAAUC,GAAMX,EAAImW,eAAexV,GAAKE,WAAW,mBAAmB,CAACT,EAAG,UAAU,CAACE,YAAY,UAAUC,MAAM,CAAC,MAAQ,QAAQ,MAAQ,KAAK,gBAAe,KAAQP,EAAIuI,GAAIvI,EAAU,QAAE,SAASmH,GAAM,OAAO/G,EAAG,UAAU,CAAC6H,IAAK,WAAcd,EAAe,WAAG7G,YAAY,UAAUC,MAAM,CAAC,MAAQ4G,EAAKS,KAAK,MAAQT,EAAKpE,WAAW,gBAAe,SAAW,IAAI,MAC/mC,EAAkB,G,YCwCD,EAArB,yG,0BAoBE,EAAAP,eAAiC,IAAI,OACrC,EAAAoD,OAAwB,GACxB,EAAAwQ,MAAuB,GACvB,EAAAD,eAAgC,KAChC,EAAAD,cAA+B,KAxBjC,iEAKI,IAAMrD,EAAIE,OAAOC,OAAO,GAAI/S,KAAK2I,OAAO3F,MAAO,CAC7CwP,KAAM,EACNzL,WAAY/G,KAAKiW,gBAEnBjW,KAAKqE,QAAQxB,KAAK,CAAEG,MAAO4P,MAT/B,uCAcI,IAAMA,EAAIE,OAAOC,OAAO,GAAI/S,KAAK2I,OAAO3F,MAAO,CAC7CwP,KAAM,EACN1P,WAAY9C,KAAKkW,iBAEnBlW,KAAKqE,QAAQxB,KAAK,CAAEG,MAAO4P,MAlB/B,yLA2BQ5S,KAAK2I,OAAO3F,QACRoT,EAAIpW,KAAK2I,OAAO3F,MAClBoT,EAAEtT,aACJ9C,KAAKkW,eAAiBxN,SAAS0N,EAAEtT,aAE/BsT,EAAErP,aACJ/G,KAAKiW,cAAgBvN,SAAS0N,EAAErP,cAjCxC,SAoCU/G,KAAKmD,OApCf,sSAwCUiT,EAAIpW,KAAK2I,OAAO3F,MAxC1B,SAyCUhD,KAAKuC,eACRY,KAAK,gBAAiB,cAAgBnD,KAAKiD,gBAAgBC,YAC3DE,MAAK,SAAAC,GACJ,EAAKsC,OAAStC,EACV+S,EAAEtT,aACJ,EAAKoT,eAAiBxN,SAAS0N,EAAEtT,gBA9C3C,uBAkDU9C,KAAKuC,eACRY,KAAK,gBAAiB,cAAgBnD,KAAKiD,gBAAgBC,YAC3DE,MAAK,SAAAC,GACJ,EAAK8S,MAAQ9S,EACT+S,EAAErP,aACJ,EAAKkP,cAAgBvN,SAAS0N,EAAErP,gBAvD1C,8GAA6C,QAChB,gBAA1B,eAAO,oB,sCAGR,gBADC,eAAM,kB,4BAON,MAGD,gBADC,eAAM,mB,6BAON,MAnBkB,EAAe,gBADnC,QACoB,WCzCkZ,I,6CCOnajC,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,EAAiB,QAKhC,IAAkBA,EAAW,CAACuR,SAAA,O,gBC+FT,EAArB,wDAQE,iDACE,eAHF,EAAAhU,aAA6B,IAAI,OAI/B,EAAKoQ,YAAc,IAAI,OAFzB,EARF,+DAIIzS,KAAKmD,SAJT,kCAacT,EAASiB,GACnB3D,KAAK4V,SAASlT,KAdlB,mLAkBI1C,KAAKyS,YAAY3M,QAAU,CACzB,CACEM,KAAM,OACN5F,MAAO,OACP6S,YAAY,EACZiD,UAAU,GAEZ,CACElQ,KAAM,QACN5F,MAAO,QACP6S,YAAY,EACZiD,UAAU,GAEZ,CACElQ,KAAM,oBACN5F,MAAO,iBACP6S,YAAY,EACZiD,UAAU,GAEZ,CACElQ,KAAM,GACN5F,MAAO,SACP+V,MAAO,QAGXvW,KAAKwW,WA3CT,SA4CUxW,KAAKmD,OA5Cf,sSAgDUyG,EAAU,IAAI,OACpBA,EAAQnH,KAAKzC,KAAK2I,OAAO3F,OACzB4G,EAAQf,SAAW,IAAI,SAClBe,EAAQ+I,MAAQ/I,EAAQ+I,MAAQ,KACnC/I,EAAQ4I,KAAO,EACf5I,EAAQ+I,KAAO3S,KAAKyS,YAAYL,UAElCpS,KAAKyW,gBAAe,GAvDxB,SAwDUzW,KAAKqC,aACRoB,QAAQmG,GACRxG,MAAK,SAACC,GAAD,OAAmC,EAAKqT,SAASrT,MACtDiB,OAAM,SAACC,GAAD,OAAgB4O,QAAQC,IAAI7O,MAClCE,SAAQ,kBAAM,EAAKgS,gBAAe,MA5DzC,wIA+DW/T,GACPyQ,QAAQC,IAAI1Q,GACZ,IAAMiU,EAAO,IAAI,OACjBA,EAAKhQ,MAAQ,8BACbgQ,EAAKC,KAAO,CACVlU,KAAMA,GAER,OAAiBmU,aAAaF,KAtElC,mCA0EI,IAAMA,EAAO,IAAI,OACjBA,EAAKhQ,MAAQ,8BACbgQ,EAAKC,KAAO,GACZ,OAAiBC,aAAaF,OA7ElC,GAAgD,eAAO,SAC1B,gBAA1B,eAAO,oB,sCAER,gBADC,eAAM,SAAU,CAAEG,MAAM,K,4BAGxB,MALkB,EAAkB,gBALtC,eAAU,CACTlS,WAAY,CACVmS,SAAUC,MAGO,WCtH4X,I,4DCO7Y,EAAY,eACd,EACAlX,EACAsC,GACA,EACA,KACA,WACA,MAIa,eAAiB,QAShC,IAAkB,EAAW,CAAC4C,OAAA,KAAKiS,aAAA,KAAWC,cAAA,KAAYhS,UAAA,KAAQK,aAAA,Q,gGCT5D6E,EAAa,eAAnB,QAOe,OAAAA,EAAA,OAAkB,CAC/BzC,KAD+B,aAG/B2C,MAAO,CACL6M,SADK,QAELC,SAFK,QAGLC,UAAW,CACThR,KAAM,CAAC8I,OADE,QAETzE,QAFS,GAGToE,UAAY,SAAAwI,GAAD,OAAa3F,MAAM4F,WAAD,MAE/BC,KAAM,CACJnR,KAAM,CAAC8I,OADH,QAEJzE,QAFI,EAGJoE,UAAY,SAAAwI,GAAD,OAAa3F,MAAMjJ,SAAS4O,EAAV,QAIjCxM,SAAU,CACRC,QADQ,WAEN,uBACE,cADK,EAEL,wBAAyB/K,KAFpB,SAGL,wBAAyBA,KAHpB,gBAIF,6CAGPyX,eATQ,WAUN,OAAOzX,KAAKoX,UAAYpX,KAAxB,WAIJoQ,MAAO,CACLsH,UADK,WAEH1X,KAAA,UAAiBA,KAAK2X,UAAU3X,KAAhC,uBAEFqX,UAJK,WAKHrX,KAAA,UAAiBA,KAAK2X,UAAU3X,KAAhC,wBAIJqQ,QAzC+B,WAyCxB,WACLC,YAAW,WACT,YAAiB,EAAjB,yBADF,IAKFzE,QAAS,CACP+L,qBADO,WAEL,IAAMC,EAAQ7X,KAAKiV,MAAnB,MACA,MAEA4C,EAAA,iBACA,IAAMC,EAASD,EAAf,aACME,EAAYrP,SAAS1I,KAAD,KAAR,IAA0BuX,WAAWvX,KANrC,WASlB6X,EAAA,aAAqBhI,KAAA,SAArB,OAEF/D,SAZO,WAaL,IAAM+L,EAAQ,qCAAd,MAMA,OAJAA,EAAA,sBACOA,EAAA,WAAP,KACAA,EAAA,gBAA0B7X,KAA1B,KAEA,GAEFgY,QArBO,SAqBA,GACL,4CACAhY,KAAA,UAAiBA,KAAjB,wBAEFiY,UAzBO,SAyBE,GAIHjY,KAAK6K,WAAT,KAAsBgG,EAAA,SACpBA,EAAA,kBAGF7Q,KAAA,wB,kCCzGN,yBAA+kB,EAAG,G,gECAllB,IAAIF,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAQ,KAAEI,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,yCAAyC,CAACF,EAAG,MAAM,CAACE,YAAY,4EAA4E,CAACF,EAAG,KAAK,CAACE,YAAY,6CAA6C,CAACN,EAAIc,GAAG,IAAId,EAAI2H,GAAG3H,EAAI2C,KAAKiF,MAAM,OAAOxH,EAAG,MAAM,CAACE,YAAY,mDAAmD,CAACF,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAAEN,EAAI2C,KAAa,SAAEvC,EAAG,MAAM,CAACA,EAAG,SAAS,CAACJ,EAAIc,GAAGd,EAAI2H,GAAG3H,EAAI2C,KAAKkF,SAASjB,YAAY5G,EAAIoC,OAAOhC,EAAG,MAAM,CAAEJ,EAAImY,UAAW/X,EAAG,QAAQ,CAACG,MAAM,CAAC,QAAU,GAAG,SAAW,GAAG,MAAQ,QAAQ,GAAM,SAAYP,EAAI2C,KAAW,SAAK,CAAC3C,EAAIc,GAAG,iBAAiBd,EAAIoC,KAAMpC,EAAIoY,UAAWhY,EAAG,QAAQ,CAACE,YAAY,OAAOC,MAAM,CAAC,QAAU,GAAG,SAAW,GAAG,MAAQ,UAAU,GAAM,SAAYP,EAAI2C,KAAW,OAAI,UAAW,CAAC3C,EAAIc,GAAG,YAAYd,EAAIoC,MAAM,WAAWhC,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACN,EAAIc,GAAG,wBAAwBV,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,SAAS,CAACJ,EAAIc,GAAGd,EAAI2H,GAAG3H,EAAI2C,KAAK0V,yBAAyBjY,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACN,EAAIc,GAAG,0BAA0BV,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,SAAS,CAACJ,EAAIc,GAAGd,EAAI2H,GAAG3H,EAAI2C,KAAK2V,kCAAkCtY,EAAIoC,MAC7pDC,EAAkB,G,wHCID,E,kLACXM,GACN,OAAO1C,KAAKsY,MAAMtY,KAAKkN,WAAY,SAAS,EAAO,OAAgBqL,Q,8BAG7D7V,GACN,OAAO1C,KAAKsY,MAAMtY,KAAKkN,WAAY,SAAS,EAAO,OAAgBhJ,Q,gCAG3DxB,GACR,OAAO1C,KAAKsY,MAAMtY,KAAKkN,WAAY,SAAS,EAAO,OAAgBjD,Y,GAV1B,QCoExB,EAArB,wDAOE,iDACE,eAPF,EAAAuO,OAAiB,2BAEjB,EAAAC,gBAAmC,IAAI,EACvC,EAAAzW,WAAqB,EACrB,EAAAd,SAAmB,EAIb,EAAKsX,OAAOE,SAAS,OACvB,EAAKF,OAAS,EAAKA,OAAOG,UAAU,EAAG,EAAKH,OAAO3J,OAAS,IAHhE,EAPF,yDAmBI,OAAI7O,KAAK0C,MAAa1C,KAAKyY,gBAAgBP,QAAQlY,KAAK0C,QACjD,IApBX,gCAwBI,OAAI1C,KAAK0C,MAAa1C,KAAKyY,gBAAgBN,QAAQnY,KAAK0C,QACjD,IAzBX,2BAcU,MACN,OAAO,UAAA1C,KAAK4W,YAAL,eAAWlU,OAAQ,SAf9B,GAAyD,QAE5B,gBAA1B,eAAO,oB,sCAFW,EAA2B,gBAD/C,QACoB,WCzEoZ,I,6CCOraoC,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAA0C,EAAiB,QAKhC,IAAkBA,EAAW,CAACE,OAAA,Q,yCCvB9B,IAAIlF,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAsBH,EAAIK,MAAMD,GAAO,OAAOJ,EAAI6Y,GAAG,IACnGxW,EAAkB,CAAC,WAAa,IAAIrC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,oBAAoBF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,KAAK,CAACE,YAAY,QAAQ,CAACN,EAAIc,GAAG,yB,wECkB1T,EAArB,qIAAqD,QAC3C,gBAAP,kB,2BAC0B,gBAA1B,eAAO,oB,sCAFW,EAAuB,gBAD3C,QACoB,WCnBmZ,I,YCOpaiE,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAA0C,E,kDClBf,IAAIhF,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,YAAY,mBAAmBS,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBjB,EAAI8Y,aAAa9X,KAAUR,MAAM,CAACC,MAAOT,EAAW,QAAEU,SAAS,SAAUC,GAAMX,EAAImB,QAAQR,GAAKE,WAAW,YAAY,CAACT,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,OAAO,CAACJ,EAAIc,GAAG,eAAeV,EAAG,SAAS,CAACE,YAAY,wCAAwCC,MAAM,CAAC,KAAO,UAAUQ,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBjB,EAAI+Y,MAAM/X,MAAW,CAACZ,EAAG,OAAO,CAACE,YAAY,+BAA+BF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,QAAQ,MAAQ,CAACP,EAAIoB,OAAOC,WAAWb,MAAM,CAACC,MAAOT,EAAIsB,SAAa,KAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,OAAQX,IAAME,WAAW,oBAAoB,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,QAAQ,MAAQ,CAACP,EAAIoB,OAAOM,QAAQlB,MAAM,CAACC,MAAOT,EAAIsB,SAAc,MAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,QAASX,IAAME,WAAW,qBAAqB,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,WAAW,CAACG,MAAM,CAAC,YAAY,QAAQ,aAAa,aAAa,MAAQ,qBAAqB,MAAQP,EAAI2B,UAAU,WAAY,GAAMnB,MAAM,CAACC,MAAOT,EAAIsB,SAAmB,WAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,aAAcX,IAAME,WAAW,0BAA0B,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,MAAQ,gBAAgB,MAAQP,EAAI4B,cAAc,WAAY,GAAMpB,MAAM,CAACC,MAAOT,EAAIsB,SAAoB,YAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,cAAeX,IAAME,WAAW,2BAA2B,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,aAAa,CAACG,MAAM,CAAC,MAAQ,qBAAqB,SAAW,IAAIC,MAAM,CAACC,MAAOT,EAAIsB,SAAkB,UAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,YAAaX,IAAME,WAAW,yBAAyB,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,qBAAqBC,MAAM,CAACC,MAAOT,EAAIsB,SAAuB,eAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,iBAAkBX,IAAME,WAAW,8BAA8B,GAAGT,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQ,qBAAqB,SAAW,IAAIC,MAAM,CAACC,MAAOT,EAAIsB,SAAwB,gBAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,kBAAmBX,IAAME,WAAW,+BAA+B,GAAGT,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,iBAAiB,CAACG,MAAM,CAAC,YAAY,OAAO,aAAa,aAAa,MAAQ,SAAS,MAAQP,EAAI6B,UAAU,MAAQ,GAAG,SAAW,GAAG,UAAY,GAAG,mBAAkB,GAAMrB,MAAM,CAACC,MAAOT,EAAIsB,SAAkB,UAAEZ,SAAS,SAAUC,GAAMX,EAAIuB,KAAKvB,EAAIsB,SAAU,YAAaX,IAAME,WAAW,yBAAyB,OAAQb,EAAyB,sBAAEI,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,wBAAwB,CAACI,MAAM,CAACC,MAAOT,EAAyB,sBAAEU,SAAS,SAAUC,GAAMX,EAAIgZ,sBAAsBrY,GAAKE,WAAW,4BAA4B,GAAGb,EAAIoC,OAAOhC,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,uDAAuD,CAACF,EAAG,QAAQ,CAACG,MAAM,CAAC,UAAYP,EAAImB,QAAQ,QAAUnB,EAAIiC,UAAU,MAAQ,UAAU,KAAO,WAAW,CAACjC,EAAIc,GAAG,aAAaV,EAAG,QAAQ,CAACG,MAAM,CAAC,KAAO,GAAG,KAAO,UAAUQ,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBjB,EAAI+Y,MAAM/X,MAAW,CAAChB,EAAIc,GAAG,eAAe,QAC7/GuB,EAAkB,G,kOCwID,EAArB,yG,0BAGE,EAAAG,eAAiC,IAAI,OACrC,EAAAF,aAA6B,IAAI,OACjC,EAAA8D,iBAAqC,IAAI,OACzC,EAAA9E,SAA8B,IAAI,OAClC,EAAAM,cAA0BA,EAAA,KAC1B,EAAAD,UAAkC,KAClC,EAAAE,UAAkC,KAClC,EAAAmX,sBAAsD,KACtD,EAAA/W,WAAqB,EACrB,EAAAd,SAAmB,EAZrB,kOAgBUlB,KAAKgZ,4BAhBf,ySAoBQhZ,KAAKgC,WAAchC,KAAKkB,QApBhC,wDAqBIlB,KAAKgC,WAAY,EAEiB,MAA9BhC,KAAK+Y,wBACP/Y,KAAKqB,SAASY,SAAW,eACvBjC,KAAK+Y,uBACL9W,UA1BR,SA6BUjC,KAAKqC,aACR4W,OAAOjZ,KAAKqB,UACZ+B,MAAK,SAACe,GACL,OAAuBC,mBACrB,UACA,kCAEF,EAAKC,QAAQxB,KAAb,gBAA2BsB,OAE5BG,OAAM,SAACC,GAAD,OAAgB,OAAuBC,UAAUD,MACvDE,SAAQ,kBAAO,EAAKzC,WAAY,KAvCvC,ySA2CUgB,EAAgB,cAAgBhD,KAAKiD,gBAAgBC,WA3C/D,SA8CUlD,KAAKuC,eAAeY,KAAK,gBAAiBH,GAAOI,MAAK,SAAAC,GAC1D,EAAK3B,UAAY2B,KA/CvB,uBAmDUrD,KAAKuC,eAAeY,KAAK,gBAAiBH,GAAOI,MAAK,SAAAC,GAC1D,EAAKzB,UAAYyB,KApDvB,2TAyDUL,EAAQ,IAAI,OAClBA,EAAME,WAAalD,KAAKiD,gBAAgBC,WACxCF,EAAM+D,WAAa/G,KAAKqB,SAAS0F,WACjC/D,EAAMkW,iBAAkB,EA5D5B,SA6DUlZ,KAAKmG,iBACRgT,+BAA+BnW,GAC/BI,MACC,SAACC,GAAD,OAAoC,EAAK0V,sBAAwB1V,KAElEiB,OAAM,kBAAO,EAAKyU,sBAAwB,QAlEjD,8GAAyD,QACrC,gBAAjB,eAAO,W,6BACmB,gBAA1B,eAAO,oB,sCAaR,gBADC,eAAM,wB,iCAGN,MAjBkB,EAA2B,gBAD/C,QACoB,WCzIoZ,I,6FCOrajU,EAAY,eACd,EACAhF,EACAsC,GACA,EACA,KACA,WACA,MAIa,aAAA0C,EAAiB,QAShC,IAAkBA,EAAW,CAACC,gBAAA,KAAcC,OAAA,KAAKC,QAAA,KAAMC,UAAA,KAAQK,aAAA,Q","file":"js/users-module.adb9b05d.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.instance)?_c('div',{staticClass:\"container position-relative\"},[_c('Panel',{attrs:{\"title\":false,\"footer\":false}},[_c('v-tabs',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('v-tab',[_vm._v(\"Dados Gerais\")]),_c('v-tab',[_vm._v(\"Atributos\")])],1),_c('v-tabs-items',{model:{value:(_vm.currentTab),callback:function ($$v) {_vm.currentTab=$$v},expression:\"currentTab\"}},[_c('v-tab-item',[_c('v-form',{staticClass:\"px-4 py-4\",attrs:{\"action\":\"/\",\"method\":\"post\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onEditUser($event)}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-text-field',{attrs:{\"label\":\"Nome*\",\"rules\":[_vm.$rules.required],\"required\":\"\"},model:{value:(_vm.instance.name),callback:function ($$v) {_vm.$set(_vm.instance, \"name\", $$v)},expression:\"instance.name\"}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-autocomplete',{attrs:{\"item-text\":'name',\"item-value\":'idUser',\"label\":\"Gestor / Hierarquia\",\"items\":_vm.users},model:{value:(_vm.instance.idParent),callback:function ($$v) {_vm.$set(_vm.instance, \"idParent\", $$v)},expression:\"instance.idParent\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-autocomplete',{attrs:{\"item-text\":'name',\"item-value\":'idEntity',\"label\":\"Entidade*\",\"items\":_vm.entities},model:{value:(_vm.instance.idEntity),callback:function ($$v) {_vm.$set(_vm.instance, \"idEntity\", $$v)},expression:\"instance.idEntity\"}})],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-text-field',{attrs:{\"label\":\"Email\",\"rules\":[_vm.$rules.email]},model:{value:(_vm.instance.email),callback:function ($$v) {_vm.$set(_vm.instance, \"email\", $$v)},expression:\"instance.email\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-select',{attrs:{\"item-text\":'title',\"item-value\":'idUserType',\"label\":\"Tipo de Utilizador\",\"items\":_vm.userTypes,\"clearable\":true},model:{value:(_vm.instance.idUserType),callback:function ($$v) {_vm.$set(_vm.instance, \"idUserType\", $$v)},expression:\"instance.idUserType\"}})],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-autocomplete',{attrs:{\"label\":\"Nacionalidade\",\"items\":_vm.nationalities,\"clearable\":true},model:{value:(_vm.instance.nationality),callback:function ($$v) {_vm.$set(_vm.instance, \"nationality\", $$v)},expression:\"instance.nationality\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('DatePicker',{attrs:{\"label\":\"Data de Nascimento\",\"clearable\":true,\"required\":\"\"},model:{value:(_vm.instance.dateBirth),callback:function ($$v) {_vm.$set(_vm.instance, \"dateBirth\", $$v)},expression:\"instance.dateBirth\"}})],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-text-field',{attrs:{\"label\":\"Contacto Principal\"},model:{value:(_vm.instance.contactDefault),callback:function ($$v) {_vm.$set(_vm.instance, \"contactDefault\", $$v)},expression:\"instance.contactDefault\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-text-field',{attrs:{\"label\":\"Contacto Secundário\"},model:{value:(_vm.instance.contactOptional),callback:function ($$v) {_vm.$set(_vm.instance, \"contactOptional\", $$v)},expression:\"instance.contactOptional\"}})],1)]),_c('v-autocomplete',{attrs:{\"item-text\":'name',\"item-value\":'idAppGroup',\"label\":\"Grupos\",\"items\":_vm.appGroups,\"chips\":\"\",\"multiple\":\"\",\"clearable\":\"\",\"deletable-chips\":true,\"return-object\":false},model:{value:(_vm.instance.appGroups),callback:function ($$v) {_vm.$set(_vm.instance, \"appGroups\", $$v)},expression:\"instance.appGroups\"}}),_c('SingleImageUploader',{attrs:{\"label\":\"Foto\",\"folder\":(\"/Users/\" + (this.instance.idUser) + \"/Photos\")},on:{\"select\":_vm.onSelectPhoto}}),_c('v-btn',{class:_vm.submitButton,attrs:{\"disabled\":!_vm.isValid,\"loading\":_vm.isLoading,\"color\":\"primary\",\"type\":\"submit\"}},[_vm._v(\"Confirmar\")])],1)],1),_c('v-tab-item',[(_vm.metadata)?_c('MetadataForm',{attrs:{\"metadata\":_vm.metadata,\"buttonClass\":_vm.submitButton,\"folder\":(\"/users/\" + (this.instance.idUser) + \"/metadata\")},on:{\"onSave\":_vm.onEditMetatada}}):_vm._e()],1)],1)],1)],1):_vm._e()}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport {\r\n LanguageDto,\r\n UserDto,\r\n AppGroupDto,\r\n MetadataConfiguration,\r\n UserTypeDto,\r\n MetadataConfigurationComposer,\r\n EntityDto\r\n} from \"@/server/app.dtos\";\r\nimport ConfigsService from \"@/services/api/configs.service\";\r\nimport { UsersService } from \"@/services/api/users.service\";\r\nimport {\r\n EditUserCommand,\r\n EditUserMetadataCommand\r\n} from \"@/server/app.commands\";\r\nimport { NotificationServiceBus } from \"@/services/bus/notifications.service\";\r\nimport {\r\n GetEntityFilesDtosQuery,\r\n GetUserMetadataDtoQuery,\r\n GetUsersDtosOrderOptions,\r\n GetUsersDtosQuery\r\n} from \"@/server/app.queries\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\nimport SingleImageUploaderComponent from \"@/components/uploaders/SingleImageUploader.vue\";\r\nimport EntitiesService from \"@/services/api/entities.service\";\r\nimport nationalities from \"@/models/storage/nationalities\";\r\n\r\n@Component({\r\n components: {\r\n SingleImageUploader: SingleImageUploaderComponent\r\n }\r\n})\r\nexport default class UserEditPage extends Vue {\r\n @Prop() user!: UserDto;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n instance!: EditUserCommand;\r\n usersService: UsersService = new UsersService();\r\n entitieservice: EntitiesService = new EntitiesService();\r\n configsService: ConfigsService = new ConfigsService();\r\n users: UserDto[] | null = null;\r\n entities: EntityDto[] | null = null;\r\n metadata: MetadataConfiguration | null = null;\r\n appGroups: AppGroupDto[] | null = null;\r\n userTypes: UserTypeDto[] | null = null;\r\n nationalities: string[] = nationalities;\r\n submitButton :string = \"submit-btn\";\r\n tabs: string[] = [\"Dados Gerais\", \"Atributos\"];\r\n currentTab: string = \"general\";\r\n isLoading: boolean = false;\r\n isValid: boolean = false;\r\n\r\n async created() {\r\n this.instance = new EditUserCommand();\r\n this.instance.init(this.user);\r\n this.instance.appGroups = [];\r\n if (this.user.appGroups) {\r\n this.user.appGroups.forEach(i =>\r\n this.instance?.appGroups?.push(i.idAppGroup || 1)\r\n );\r\n }\r\n await this.LoadRelatedData();\r\n }\r\n\r\n async LoadRelatedData() {\r\n const query: string = \"IdLanguage=\" + this.currentLanguage.idLanguage;\r\n\r\n // Load App Groups\r\n await this.configsService.Load(\"api/appgroups\", query).then(result => {\r\n this.appGroups = result;\r\n });\r\n\r\n // Load UserTypes\r\n await this.configsService.Load(\"api/userTypes\", query).then(result => {\r\n this.userTypes = result;\r\n });\r\n\r\n // Load Users\r\n const usersQuery = new GetUsersDtosQuery();\r\n usersQuery.idLanguage = this.currentLanguage.idLanguage;\r\n usersQuery.orderBy = GetUsersDtosOrderOptions.NameAsc;\r\n await this.usersService\r\n .GetList(usersQuery)\r\n .then((response: ListResponse) => (this.users = response.data));\r\n\r\n // Load Entities\r\n const entitiesQuery = new GetEntityFilesDtosQuery();\r\n entitiesQuery.idLanguage = this.currentLanguage.idLanguage;\r\n await this.entitieservice\r\n .GetList(entitiesQuery)\r\n .then(\r\n (response: ListResponse) => (this.entities = response.data)\r\n );\r\n\r\n // Load Metadata\r\n const metadataQuery = new GetUserMetadataDtoQuery();\r\n metadataQuery.idUser = this.user.idUser;\r\n metadataQuery.idLanguage = this.currentLanguage.idLanguage;\r\n await this.usersService\r\n .GetMetadata(metadataQuery)\r\n .then((response: MetadataConfiguration) => (this.metadata = response));\r\n }\r\n\r\n onSelectPhoto(file: string): void {\r\n this.instance.photo = file;\r\n }\r\n\r\n async onEditUser() {\r\n if (this.isLoading) return;\r\n this.isLoading = true;\r\n await this.usersService\r\n .Edit(this.instance)\r\n .then((id: number) => {\r\n NotificationServiceBus.showSuccessMessage(\r\n \"Sucesso\",\r\n \"Operação efetuada com sucessso\"\r\n );\r\n this.$router.push(`/user/${id}/dashboard`);\r\n })\r\n .catch((error: any) => NotificationServiceBus.showError(error))\r\n .finally(() => (this.isLoading = false));\r\n }\r\n\r\n async onEditMetatada(data: MetadataConfigurationComposer) {\r\n if (this.isLoading) return;\r\n this.isLoading = true;\r\n const command = new EditUserMetadataCommand();\r\n command.idUser = this.user.idUser;\r\n command.metadata = data.metadata;\r\n await this.usersService\r\n .EditMetadata(command)\r\n .then((id: number) => {\r\n NotificationServiceBus.showSuccessMessage(\r\n \"Sucesso\",\r\n \"Operação efetuada com sucessso\"\r\n );\r\n this.$router.push(`/user/${id}/dashboard`);\r\n })\r\n .catch((error: any) => NotificationServiceBus.showError(error))\r\n .finally(() => (this.isLoading = false));\r\n }\r\n}\r\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!./Edit.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!./Edit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Edit.vue?vue&type=template&id=25e1f7dc&scoped=true&\"\nimport script from \"./Edit.vue?vue&type=script&lang=ts&\"\nexport * from \"./Edit.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Edit.vue?vue&type=style&index=0&id=25e1f7dc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"25e1f7dc\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAutocomplete,VBtn,VForm,VSelect,VTab,VTabItem,VTabs,VTabsItems,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"max-width\":\"500\"},model:{value:(_vm.manageGroupsDialog),callback:function ($$v) {_vm.manageGroupsDialog=$$v},expression:\"manageGroupsDialog\"}},[_c('v-form',{ref:\"editForm\",on:{\"submit\":function($event){$event.preventDefault();return _vm.changeMetadataGroupsConfig($event)}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Associar Grupos de campos dinâmicos\")]),_c('v-card-text',[_c('v-select',{attrs:{\"items\":_vm.groups,\"item-text\":'title',\"item-value\":'idMetadataGroup',\"label\":\"Grupos\",\"multiple\":\"\"},model:{value:(_vm.selectedGroups),callback:function ($$v) {_vm.selectedGroups=$$v},expression:\"selectedGroups\"}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.manageGroupsDialog = false}}},[_vm._v(\"Cancelar\")]),_c('v-btn',{attrs:{\"type\":\"submit\",\"loading\":_vm.isLoading,\"color\":\"primary\",\"disabled\":!_vm.isValid}},[_vm._v(\"Alterar\")])],1)],1)],1)],1),_c('DataGrid',{attrs:{\"endpoint\":_vm.endpoint,\"columns\":_vm.columns,\"enableReorder\":true,\"primary\":_vm.primary,\"actions\":_vm.actions},on:{\"action\":_vm.handleAction}})],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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport {\r\n GridColumnTypes,\r\n GridColumn,\r\n GridAction,\r\n GridActionEvent\r\n} from \"@/models/grids/column\";\r\nimport { LanguageDto, MetadataGroupDto, UserTypeDto } from \"@/server/app.dtos\";\r\nimport ConfigsService from \"@/services/api/configs.service\";\r\nimport { UserTypesService } from \"@/services/api/user.types.service\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { EditUserTypeMetadataGroupsConfigurationCommand } from \"@/server/app.commands\";\r\n\r\n@Component\r\nexport default class UserTypesPage extends Vue {\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n apiService: ConfigsService = new ConfigsService();\r\n userTypesService: UserTypesService = new UserTypesService();\r\n columns: GridColumn[] = [\r\n {\r\n text: \"Título\",\r\n value: \"title\",\r\n type: GridColumnTypes.Text,\r\n editable: true,\r\n editableClass: \"col-12\",\r\n editableRules: [this.$rules.minLenght(3)]\r\n }\r\n ];\r\n actions: GridAction[] = [\r\n {\r\n title: \"Opções\",\r\n icon: \"las la-ellipsis-v\",\r\n visible: () => true\r\n }\r\n ];\r\n endpoint: string = \"api/usertypes\";\r\n primary: string = \"idUserType\";\r\n groups: MetadataGroupDto[] = [];\r\n selectedGroups: number[] = [];\r\n manageGroupsDialog: boolean = false;\r\n isValid: boolean = false;\r\n isLoading: boolean = false;\r\n currentUserType: UserTypeDto | null = null;\r\n\r\n async created() {\r\n await this.apiService\r\n .Load(\r\n \"api/MetadataGroups\",\r\n \"IdLanguage=\" + this.currentLanguage.idLanguage\r\n )\r\n .then((response: any) => (this.groups = response));\r\n }\r\n\r\n async changeMetadataGroupsConfig() {\r\n if (this.isLoading || !this.isValid || !this.currentUserType) return;\r\n const command = new EditUserTypeMetadataGroupsConfigurationCommand();\r\n command.idLanguage = this.currentLanguage.idLanguage;\r\n command.idUserType = this.currentUserType.idUserType;\r\n command.metadataGroups = this.selectedGroups;\r\n await this.userTypesService\r\n .ChangeMetadataGroups(command)\r\n .then(() => {\r\n if (this.currentUserType != null) {\r\n this.currentUserType.metadataGroups = command.metadataGroups;\r\n }\r\n this.manageGroupsDialog = false;\r\n })\r\n .finally(() => (this.isLoading = false));\r\n }\r\n\r\n handleAction(data: GridActionEvent) {\r\n this.currentUserType = data.item;\r\n this.selectedGroups =\r\n this.currentUserType != null\r\n ? this.currentUserType.metadataGroups ?? []\r\n : [];\r\n this.manageGroupsDialog = true;\r\n }\r\n}\r\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!./UserTypes.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!./UserTypes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserTypes.vue?vue&type=template&id=9cbd02be&\"\nimport script from \"./UserTypes.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserTypes.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VForm,VSelect,VSpacer})\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Edit.vue?vue&type=style&index=0&id=25e1f7dc&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Edit.vue?vue&type=style&index=0&id=25e1f7dc&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.user)?_c('div',[_c('Subheader',{staticClass:\"p-0\"},[_c('div',{staticClass:\"d-flex align-stretch w-100\"},[_c('div',{staticClass:\"px-4 py-4 w-100\"},[_c('div',{staticClass:\"d-flex align-stretch w-100\"},[_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('Breadcrumb',{attrs:{\"routes\":[\n 'Pessoas',\n 'Utilizadores',\n 'Detalhe'\n ]}}),_c('div',{staticClass:\"d-flex align-items-start mt-3\"},[_c('div',{staticClass:\"mr-5\"},[_c('v-img',{staticClass:\"sub-header__photo\",attrs:{\"src\":(_vm.getPhotoSrc + \"?w=160&h=160&mode=crop\"),\"width\":\"160\",\"height\":\"160\"}})],1),_c('div',{staticClass:\"w-100\"},[_c('h1',{staticClass:\"text-h1 text-white mb-2 w-100\"},[_vm._v(_vm._s(_vm.user.name))]),(_vm.user.userType)?_c('div',{staticClass:\"mb-3 text-h6 text-white\"},[_vm._v(\" \"+_vm._s(_vm.user.userType.title)+\" \")]):_vm._e(),_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_c('div',[(_vm.user.entity)?_c('router-link',{staticClass:\"text-white mr-3\",attrs:{\"to\":(\"/entity/\" + (_vm.user.idEntity) + \"/dashboard\")}},[_vm._v(_vm._s(_vm.user.entity.name))]):_vm._e()],1),_c('div',[_c('v-btn',{staticClass:\"ml-3\",attrs:{\"color\":\"primary\",\"rounded\":\"\",\"to\":\"edit\"}},[_c('i',{staticClass:\"las la-edit mr-2\"}),_vm._v(\" Editar \")]),_c('v-menu',{attrs:{\"close-on-content-click\":true,\"offset-y\":\"\",\"transition\":\"slide-y-transition\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"ml-3 text-white\",attrs:{\"small\":\"\",\"fab\":\"\",\"text\":\"\"}},on),[_c('i',{staticClass:\"las la-ellipsis-h size--s20\"})])]}}],null,false,3074529236),model:{value:(_vm.actionMenu),callback:function ($$v) {_vm.actionMenu=$$v},expression:\"actionMenu\"}},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){$event.preventDefault();return _vm.deleteUser($event)}}},[_c('v-list-item-title',[_vm._v(\"Eliminar\")])],1)],1)],1)],1)])])])],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('DetailUserBoxComponent',{staticClass:\"h-100\",attrs:{\"user\":_vm.user}})],1)])])])]),_c('LeftMenuLayout',[_c('template',{slot:\"Menu\"},[_c('div',{staticClass:\"layout__menu-box\"},[_c('h4',[_vm._v(\"Navegação\")]),_c('nav',[_c('ul',_vm._l((_vm.menus),function(route){return _c('li',{key:route.title},[_c('router-link',{attrs:{\"to\":route.url}},[_c('i',{class:[route.icon]}),_vm._v(\" \"+_vm._s(route.title)+\" \")])],1)}),0)])])]),_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('router-view',{attrs:{\"user\":_vm.user}})],1)],2)],1):_vm._e()}\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { UsersService } from \"@/services/api/users.service\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { LanguageDto, UserDto } from \"@/server/app.dtos\";\r\nimport {\r\n GetUserDtoQuery,\r\n GetUsersDtosIncludeOptions\r\n} from \"@/server/app.queries\";\r\nimport { ISideMenuItem } from \"@/models/menus/isidemenu\";\r\nimport ConfigsService from \"@/services/api/configs.service\";\r\nimport { NotificationServiceBus } from \"@/services/bus/notifications.service\";\r\nimport { concatUrls } from \"@/utilities/url\";\r\n\r\n@Component\r\nexport default class UserDetailSharedPage extends Vue {\r\n usersService: UsersService = new UsersService();\r\n configsService: ConfigsService = new ConfigsService();\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n user: UserDto | null = null;\r\n menus: ISideMenuItem[] = [\r\n {\r\n icon: \"las la-cog\",\r\n title: \"Dashboard\",\r\n url: \"dashboard\"\r\n },\r\n {\r\n icon: \"las la-cog\",\r\n title: \"Logins\",\r\n url: \"logins\"\r\n },\r\n {\r\n icon: \"las la-cog\",\r\n title: \"Documentos\",\r\n url: \"documents\"\r\n },\r\n {\r\n icon: \"las la-list\",\r\n title: \"Detalhes\",\r\n url: \"details\"\r\n },\r\n {\r\n icon: \"las la-comments\",\r\n title: \"Comentários\",\r\n url: \"comments\"\r\n },\r\n {\r\n icon: \"las la-comments\",\r\n title: \"Logs\",\r\n url: \"logs\"\r\n }\r\n ];;\r\n actionMenu: boolean = false;\r\n isLoading: boolean = false;\r\n\r\n get currentPath(): string {\r\n return this.$route.path;\r\n }\r\n\r\n get getPhotoSrc(): string {\r\n return this.user && this.user.photo\r\n ? concatUrls(process.env.VUE_APP_CDN_URL, this.user.photo)\r\n : \"/img/user.jpg\";\r\n }\r\n\r\n @Watch(\"$route\")\r\n onRouteChange() {\r\n this.Load();\r\n }\r\n\r\n async created() {\r\n // this.menus = this.getMenu(\"Users\", \"UsersDetails\");\r\n await this.Load();\r\n }\r\n\r\n async Load() {\r\n const query = new GetUserDtoQuery();\r\n query.idLanguage = this.currentLanguage.idLanguage;\r\n query.idUser = parseInt(this.$route.params.id);\r\n query.includes = new GetUsersDtosIncludeOptions();\r\n query.includes.appGroups = true;\r\n query.includes.entity = true;\r\n query.includes.metadata = true;\r\n query.includes.userType = true;\r\n await this.usersService\r\n .GetSingle(query)\r\n .then((result: UserDto) => {\r\n this.user = result;\r\n })\r\n .catch(() => (this.user = null));\r\n }\r\n\r\n async deleteUser() {\r\n if (this.isLoading) {\r\n return;\r\n }\r\n if (this.user) {\r\n await this.usersService\r\n .DeleteById(this.user.idUser || 0)\r\n .catch((error: any) => NotificationServiceBus.showError(error))\r\n .then(() => this.$router.push(\"/users/\"));\r\n }\r\n }\r\n}\r\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!./Shared.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!./Shared.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Shared.vue?vue&type=template&id=6dc09206&\"\nimport script from \"./Shared.vue?vue&type=script&lang=ts&\"\nexport * from \"./Shared.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VImg,VList,VListItem,VListItemTitle,VMenu})\n","import { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { CurrentUser } from \"@/models/auth/current.user\";\r\nimport { LayoutServiceBus } from \"@/services/bus/layout.service\";\r\nimport { LanguageDto } from \"@/server/app.dtos\";\r\n\r\n@Component\r\nexport class BaseSideComponent extends Vue {\r\n @Prop() args: any;\r\n @Getter(\"identity\") identity!: CurrentUser;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n\r\n candEdit(): boolean {\r\n return false;\r\n }\r\n\r\n close(): void {\r\n LayoutServiceBus.closeSideMenu();\r\n }\r\n}\r\n","const nationalities: string[] = [\r\n \"Afegão\",\r\n \"Alemão\",\r\n \"Americano\",\r\n \"Angolano\",\r\n \"Antiguano\",\r\n \"Árabe\",\r\n \"Argélia\",\r\n \"Argentino\",\r\n \"Armeno\",\r\n \"Australiano\",\r\n \"Austríaco\",\r\n \"Bahamense\",\r\n \"Bangladesh\",\r\n \"Barbadiano\",\r\n \"Bechuano\",\r\n \"Belga\",\r\n \"Belizenho\",\r\n \"Boliviano\",\r\n \"Brasileiro\",\r\n \"Britânico\",\r\n \"Camaronense\",\r\n \"Canadense\",\r\n \"Chileno\",\r\n \"Chinês\",\r\n \"Cingalês\",\r\n \"Colombiano\",\r\n \"Comorense\",\r\n \"Costarriquenho\",\r\n \"Croata\",\r\n \"Cubano\",\r\n \"Dinamarquês\",\r\n \"Dominicana\",\r\n \"Dominicano\",\r\n \"Egípcio\",\r\n \"Equatoriano\",\r\n \"Escocês\",\r\n \"Eslovaco\",\r\n \"Esloveno\",\r\n \"Espanhol\",\r\n \"Francês\",\r\n \"Galês\",\r\n \"Ganés\",\r\n \"Granadino\",\r\n \"Grego\",\r\n \"Guatemalteco\",\r\n \"Guianense\",\r\n \"Guianês\",\r\n \"Haitiano\",\r\n \"Holandês\",\r\n \"Hondurenho\",\r\n \"Húngaro\",\r\n \"Iemenita\",\r\n \"Indiano\",\r\n \"Indonésio\",\r\n \"Inglês\",\r\n \"Iraniano\",\r\n \"Iraquiano\",\r\n \"Irlandês\",\r\n \"Israelita\",\r\n \"Italiano\",\r\n \"Jamaicano\",\r\n \"Japonês\",\r\n \"Líbio\",\r\n \"Malaio\",\r\n \"Marfinense\",\r\n \"Marroquino\",\r\n \"Mexicano\",\r\n \"Moçambicano\",\r\n \"Neozelandês\",\r\n \"Nepalês\",\r\n \"Nicaraguense\",\r\n \"Nigeriano\",\r\n \"Norte-coreano\",\r\n \"Noruego\",\r\n \"Omanense\",\r\n \"Palestino\",\r\n \"Panamenho\",\r\n \"Paquistanês\",\r\n \"Paraguaio\",\r\n \"Peruano\",\r\n \"Polonês\",\r\n \"Portorriquenho\",\r\n \"Português\",\r\n \"Qatarense\",\r\n \"Queniano\",\r\n \"Romeno\",\r\n \"Ruandês\",\r\n \"Russo\",\r\n \"Salvadorenho\",\r\n \"Santa-lucense\",\r\n \"São-cristovense\",\r\n \"São-vicentino\",\r\n \"Saudita\",\r\n \"Sérvio\",\r\n \"Sírio\",\r\n \"Somali\",\r\n \"Sueco\",\r\n \"Suíço\",\r\n \"Sul-africano\",\r\n \"Sul-coreano\",\r\n \"Surinamês\",\r\n \"Tailandês\",\r\n \"Timorense\",\r\n \"Trindadense\",\r\n \"Turco\",\r\n \"Ucraniano\",\r\n \"Ugandense\",\r\n \"Uruguaio\",\r\n \"Venezuelano\",\r\n \"Vietnamita\",\r\n \"Zimbabuense\"\r\n];\r\n\r\n// https://gist.github.com/lpirola/7310081\r\n\r\nexport default nationalities;\r\n","import { Route } from \"vue-router\";\r\nimport { AuthenticatedService } from \"../abstract/base.service\";\r\nimport { ListRequest } from \"@/models/grids/list.request\";\r\nimport OrderBy from \"@/models/shared/orderby\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\nimport { CreateEntityCommand, EditEntityCommand } from \"@/server/app.commands\";\r\nimport { GetEntitiesDtosQuery, GetEntityDtoQuery } from \"@/server/app.queries\";\r\nimport { EntityDto } from \"@/server/app.dtos\";\r\n\r\nexport const EntitiesEndpoint = `api/entities`;\r\nexport class EntitiesRequestIncludes {\r\n entityType: boolean = false;\r\n}\r\nexport class EntitiesListRequestFilter extends ListRequest {\r\n search?: string;\r\n name?: string;\r\n fiscalIdNumber?: string;\r\n idAppInterface?: number;\r\n orderBy?: string = \"NameAsc\";\r\n includes: EntitiesRequestIncludes = new EntitiesRequestIncludes();\r\n\r\n get GetOrderOptions(): OrderBy[] {\r\n return [\r\n new OrderBy(\"Nome Ascendente\", \"NameAsc\"),\r\n new OrderBy(\"Nome Descendente\", \"NameDesc\")\r\n ];\r\n }\r\n\r\n loadByRoute(route: Route) {\r\n if (route && route.query) {\r\n if (route.query.search) {\r\n this.search = route.query.search as string;\r\n }\r\n this.name = route.query.name ? (route.query.name as string) : undefined;\r\n this.fiscalIdNumber = route.query.fiscalIdNumber\r\n ? (route.query.fiscalIdNumber as string)\r\n : undefined;\r\n if (route.query.idAppInterface) {\r\n this.idAppInterface = parseInt(route.query.idAppInterface as string);\r\n }\r\n if (route.query.orderBy) {\r\n this.orderBy = route.query.orderBy as string;\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class EntitiesService extends AuthenticatedService {\r\n GetList(request: GetEntitiesDtosQuery): Promise> {\r\n return this.Get>(\r\n `${this.baseUrl}${EntitiesEndpoint}?${this.GetQueryStringByObject(\r\n request\r\n )}`\r\n );\r\n }\r\n\r\n GetSingle(request: GetEntityDtoQuery): Promise {\r\n return this.Get(\r\n `${this.baseUrl}${EntitiesEndpoint}/${\r\n request.idEntity\r\n }?${this.GetQueryStringByObject(request)}`\r\n );\r\n }\r\n\r\n DeleteById(id: number): Promise {\r\n return this.Delete(`${this.baseUrl}${EntitiesEndpoint}/${id}`);\r\n }\r\n\r\n Create(entity: CreateEntityCommand): Promise {\r\n return this.Post(`${this.baseUrl}${EntitiesEndpoint}`, entity);\r\n }\r\n\r\n Edit(command: EditEntityCommand): Promise {\r\n return this.Put(\r\n `${this.baseUrl}${EntitiesEndpoint}/${command.idEntity}`,\r\n command\r\n );\r\n }\r\n}\r\n\r\nexport default EntitiesService;\r\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","import { AuthenticatedService } from \"../abstract/base.service\";\r\nimport { EditUserTypeMetadataGroupsConfigurationCommand } from \"@/server/app.commands\";\r\nimport { GetUserTypeMetadataGroupsConfigurationDtoQuery } from \"@/server/app.queries\";\r\nimport { MetadataConfiguration } from \"@/server/app.dtos\";\r\n\r\nexport const UserTypesEndpoint = `api/usertypes`;\r\n\r\nexport class UserTypesService extends AuthenticatedService {\r\n ChangeMetadataGroups(\r\n command: EditUserTypeMetadataGroupsConfigurationCommand\r\n ): Promise {\r\n return this.Put(\r\n `${this.baseUrl}${UserTypesEndpoint}/metadatagroupsconfig`,\r\n command\r\n );\r\n }\r\n\r\n GetMetadataGroupsConfiguration(\r\n query: GetUserTypeMetadataGroupsConfigurationDtoQuery\r\n ): Promise {\r\n return this.Get(\r\n `${\r\n this.baseUrl\r\n }${UserTypesEndpoint}/metadatagroupsconfig?${this.GetQueryStringByObject(\r\n query\r\n )}`\r\n );\r\n }\r\n}\r\n","import store from \"@/store/index\";\r\nimport { CurrentUser } from \"@/models/auth/current.user\";\r\n\r\nexport enum PermissionModes {\r\n View,\r\n Edit,\r\n Delete\r\n}\r\n\r\nexport default class PermissionsHandler {\r\n get currentUser(): CurrentUser | null {\r\n return store.state.identity;\r\n }\r\n\r\n backoffice: string = \"Backoffice\";\r\n\r\n Check(\r\n interfac: string,\r\n module: string,\r\n isConfiguration: boolean,\r\n viewMode: PermissionModes\r\n ): boolean {\r\n // Current user does not have role for the interface\r\n\r\n // if (current?.Roles == null || !current.Roles.Any())\r\n // return (false, null);\r\n // var appPermission = current.Roles.FirstOrDefault(s => s.Interface == @interface);\r\n // if (appPermission == null)\r\n // return (false, null);\r\n // var rolePermission = appPermission.Permissions.FirstOrDefault(s => s.Module == module);\r\n // if (rolePermission == null)\r\n // return (false, null);\r\n // if (isConfiguration)\r\n // return (rolePermission.CanManageConfigurations, rolePermission);\r\n // switch (action)\r\n // {\r\n // case ActionModes.Custom:\r\n // return (true, rolePermission);\r\n // case ActionModes.Query:\r\n // return (rolePermission.ViewMode != PermissionTypes.None, rolePermission);\r\n // case ActionModes.Create:\r\n // case ActionModes.Edit:\r\n // return (rolePermission.EditMode != PermissionTypes.None, rolePermission);\r\n // case ActionModes.Remove:\r\n // return (rolePermission.DeleteMode != PermissionTypes.None, rolePermission);\r\n // default:\r\n // return (false, rolePermission);\r\n\r\n if (this.currentUser == null) return false;\r\n\r\n const role = !this.currentUser.roles.find(s => s.interface == interfac);\r\n if (role == null) return false;\r\n\r\n // TODO: check permissions based on current user and their roles\r\n return true;\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Subheader',[_c('div',{staticClass:\"d-flex align-center justify-space-between w-100\"},[_c('Breadcrumb',{attrs:{\"routes\":[{ title: 'Configurações' }, { title: 'Gestão de Tipos' }]}}),_c('DateClock')],1),_c('div',{staticClass:\"d-flex align-center w-100\"},[_c('h1',[_vm._v(\"Configurações\")])])]),_c('LeftMenuLayout',{scopedSlots:_vm._u([{key:\"Menu\",fn:function(){return [_c('h4',[_vm._v(\"Navegação\")]),_c('nav',[_c('ul',_vm._l((_vm.routes),function(route){return _c('li',{key:route.title},[_c('router-link',{attrs:{\"to\":route.url}},[_c('i',{class:[route.icon]}),_vm._v(\" \"+_vm._s(route.title)+\" \")])],1)}),0)])]},proxy:true}])},[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('router-view')],1)],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\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport { ISideMenuItem } from \"@/models/menus/isidemenu\";\r\n\r\n@Component\r\nexport default class UsersConfigurationPage extends Vue {\r\n // TODO: Change Icons\r\n routes: ISideMenuItem[] = [\r\n {\r\n icon: \"las la-cog\",\r\n title: \"Gestão de Tipos\",\r\n url: \"/users/configurations/types\"\r\n }\r\n ];\r\n}\r\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!./Layout.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!./Layout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=07bd6b4d&\"\nimport script from \"./Layout.vue?vue&type=script&lang=ts&\"\nexport * from \"./Layout.vue?vue&type=script&lang=ts&\"\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 null,\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('DataGrid',{attrs:{\"endpoint\":_vm.endpoint,\"columns\":_vm.columns,\"enableAdd\":true,\"enableEdit\":false,\"primary\":_vm.primary}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { LanguageDto, UserDto } from \"@/server/app.dtos\";\r\nimport { GridColumn, GridColumnTypes } from \"@/models/grids/column\";\r\nimport ConfigsService from \"@/services/api/configs.service\";\r\n\r\n@Component\r\nexport default class UserDetailLoginsPage extends Vue {\r\n @Prop() user!: UserDto;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n configsService: ConfigsService = new ConfigsService();\r\n\r\n columns: GridColumn[] = [\r\n {\r\n text: \"Username\",\r\n value: \"username\",\r\n type: GridColumnTypes.Text,\r\n editable: true,\r\n editableClass: \"col-12\",\r\n editableRules: [this.$rules.required]\r\n },\r\n {\r\n text: \"Data de Criação\",\r\n value: \"dateCreated\",\r\n type: GridColumnTypes.DateTime,\r\n editable: false\r\n },\r\n {\r\n text: \"Recuperando a senha?\",\r\n value: \"IsRecovering\",\r\n type: GridColumnTypes.Boolean,\r\n editable: false,\r\n }, \r\n {\r\n text: \"Senha\",\r\n value: \"password\",\r\n type: GridColumnTypes.Text,\r\n editable: true,\r\n editableClass: \"col-12\",\r\n editableRules: [this.$rules.required]\r\n },\r\n {\r\n text: \"Acessos\",\r\n value: \"idAppInterfaceRole\",\r\n type: GridColumnTypes.Dropdown,\r\n editable: true,\r\n editableClass: \"col-12\",\r\n editableRules: [this.$rules.required],\r\n arg: {\r\n items: [],\r\n itemText: \"title\",\r\n itemValue: \"idAppInterfaceRole\",\r\n value: null\r\n }\r\n }\r\n\r\n ];\r\n endpoint: string = \"\";\r\n primary: string = \"idUserLogin\";\r\n\r\n async created() {\r\n this.endpoint = \"api/users/\" + this.user.idUser + \"/logins\";\r\n\r\n const query: string = \"IdLanguage=\" + this.currentLanguage.idLanguage;\r\n await this.configsService.Load(\"api/appInterfaceRoles\", query).then((result) => {\r\n \r\n this.columns[4].arg.items = result;\r\n this.columns[4].arg.value = result[0];\r\n });\r\n\r\n }\r\n}\r\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!./Logins.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!./Logins.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Logins.vue?vue&type=template&id=53c91561&\"\nimport script from \"./Logins.vue?vue&type=script&lang=ts&\"\nexport * from \"./Logins.vue?vue&type=script&lang=ts&\"\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 null,\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('DataGrid',{attrs:{\"endpoint\":(\"api/users/\" + (_vm.user.idUser) + \"/files\"),\"columns\":_vm.columns,\"primary\":_vm.primary,\"folder\":(\"/users/\" + (_vm.user.idUser) + \"/files\"),\"enableLanguages\":false}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { LanguageDto, UserDto } from \"@/server/app.dtos\";\r\nimport { GridColumn, GridColumnTypes } from \"@/models/grids/column\";\r\n\r\n@Component\r\nexport default class UserDetailDocumentsPage extends Vue {\r\n @Prop() user!: UserDto;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n\r\n columns: GridColumn[] = [\r\n {\r\n text: \"Título\",\r\n value: \"title\",\r\n type: GridColumnTypes.Text,\r\n editable: true,\r\n editableClass: \"col-12\",\r\n editableRules: [this.$rules.minLenght(3)]\r\n },\r\n {\r\n text: \"Ficheiro\",\r\n value: \"filename\",\r\n type: GridColumnTypes.FileAny,\r\n editable: true,\r\n editableClass: \"col-12\",\r\n editableRules: [this.$rules.minLenght(3)]\r\n },\r\n {\r\n text: \"Público\",\r\n value: \"isPublic\",\r\n type: GridColumnTypes.Boolean,\r\n editable: true,\r\n editableClass: \"col-12\"\r\n }\r\n ];\r\n primary: string = \"idEntityFile\";\r\n}\r\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!./Documents.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!./Documents.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Documents.vue?vue&type=template&id=38d78980&\"\nimport script from \"./Documents.vue?vue&type=script&lang=ts&\"\nexport * from \"./Documents.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Intersectable from '../../mixins/intersectable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, CreateElement, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Intersectable({ onVisible: ['init'] }),\n Themeable\n).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper',\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n\n return [1, '...', ...this.range(start, end), '...', this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener, label: String): VNode {\n return h('li', [\n h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n type: 'button',\n 'aria-label': label,\n },\n on: disabled ? {} : { click: fn },\n }, [h(VIcon, [icon])]),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n const isCurrentPage = i === this.value\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel\n\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i),\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n genList (h: CreateElement, children: VNodeChildrenArrayContents): VNode {\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h,\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon,\n this.value <= 1,\n this.previous,\n this.$vuetify.lang.t(this.previousAriaLabel)),\n this.genItems(h),\n this.genIcon(h,\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon,\n this.value >= this.length,\n this.next,\n this.$vuetify.lang.t(this.nextAriaLabel)),\n ]\n\n return h('nav', {\n attrs: {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel),\n },\n }, [this.genList(h, children)])\n },\n})\n","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\nimport { DataTableHeader } from \"vuetify\";\r\nimport { Watch } from \"vue-property-decorator\";\r\n\r\nexport interface DataServerGridTableHeader\r\n extends DataTableHeader {\r\n filterItem?: any;\r\n}\r\n\r\nexport class DataServerGridOptions {\r\n inited: boolean = false;\r\n page: number = 1;\r\n pageSize: number = 10;\r\n total: number = 0;\r\n data: any[] = [];\r\n columns: DataServerGridTableHeader[] = [];\r\n loading: boolean = false;\r\n}\r\n\r\n@Component\r\nexport class ServerGrid extends Vue {\r\n gridConfigs!: DataServerGridOptions;\r\n\r\n @Watch(\"$route.query.skip\")\r\n onGridRouteSkipChanged() {\r\n if (!this.$route.query.skip) {\r\n this.gridConfigs.page = 1;\r\n } else {\r\n let p =\r\n parseInt(this.$route.query.skip as string) / this.gridConfigs.pageSize;\r\n p = p + 1;\r\n }\r\n }\r\n\r\n get hasGridFilters(): boolean {\r\n return (\r\n this.gridConfigs.columns.find((i: DataTableHeader) => i.filterable) !=\r\n null\r\n );\r\n }\r\n\r\n get pageCount(): number {\r\n return Math.ceil(this.gridConfigs.total / this.gridConfigs.pageSize);\r\n }\r\n\r\n GridLoad(list: ListResponse): void {\r\n this.gridConfigs.data = list.data;\r\n this.gridConfigs.total = list.total;\r\n }\r\n\r\n GridClear(): void {\r\n this.gridConfigs.total = 0;\r\n this.gridConfigs.data = [];\r\n }\r\n\r\n GridSetLoading(loading: boolean): void {\r\n this.gridConfigs.loading = loading;\r\n }\r\n\r\n GridInit() {\r\n if (this.$route.query) {\r\n if (this.$route.query.take) {\r\n this.gridConfigs.pageSize = parseInt(this.$route.query.take as string);\r\n }\r\n if (this.$route.query.skip) {\r\n let p =\r\n parseInt(this.$route.query.skip as string) /\r\n this.gridConfigs.pageSize;\r\n p = p + 1;\r\n this.gridConfigs.page = p;\r\n }\r\n }\r\n this.gridConfigs.inited = true;\r\n }\r\n\r\n GridFilter(header: DataServerGridTableHeader) {\r\n if (this.gridConfigs.page <= 1) {\r\n const p = Object.assign({}, this.$route.query, { skip: 0 });\r\n p[header.value] = header.filterItem;\r\n this.$router.push({ query: p });\r\n } else {\r\n this.gridConfigs.page = 1;\r\n }\r\n }\r\n\r\n GridClearFilter(header: DataServerGridTableHeader) {\r\n header.filterItem = \"\";\r\n this.GridFilter(header);\r\n }\r\n\r\n GridPagesizeChanged() {\r\n this.onGridOptionsChange();\r\n }\r\n\r\n GridPageChanged() {\r\n this.onGridOptionsChange();\r\n }\r\n\r\n onGridOptionsChange() {\r\n if (this.gridConfigs.inited) {\r\n const p = Object.assign({}, this.$route.query, {\r\n skip: (this.gridConfigs.page - 1) * this.gridConfigs.pageSize,\r\n take: this.gridConfigs.pageSize\r\n });\r\n // TODO Compare with previus route\r\n // const pQuery = Object.keys(p)\r\n // .map(key => key + (p[key] ? \"=\" + p[key] : \"\"))\r\n // .join(\"&\");\r\n // const routeQuery = this.$route.fullPath.split(\"?\")[1];\r\n // console.log([routeQuery, pQuery]);\r\n // if (pQuery !== routeQuery) {\r\n // console.log(\"Do sometinng\");\r\n // //this.$router.push({ query: p }).catch();\r\n // }\r\n\r\n this.$router.push({ query: p }).catch(() => {\r\n console.log(\"duplicated\");\r\n });\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-file-input',_vm._b({attrs:{\"loading\":_vm.isLoading,\"prepend-icon\":\"las la-image\",\"accept\":\"image/png, image/jpeg, image/bmp\"},on:{\"change\":_vm.onSelect}},'v-file-input',_vm.$props,false))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { UploaderService } from \"@/services/cdn/uploader.service\";\r\nimport { ResultUploader } from \"@/models/uploaders/result.uploader\";\r\nimport { NotificationServiceBus } from \"@/services/bus/notifications.service\";\r\nimport { ImageUploader } from \"@/models/uploaders/image.uploader\";\r\n\r\n@Component\r\nexport default class SingleImageUploaderComponent extends Vue {\r\n @Prop() label?: string;\r\n @Prop() folder?: string;\r\n isLoading: boolean = false;\r\n uploadService: UploaderService = new UploaderService();\r\n\r\n onSelect(file?: File): void {\r\n if (this.isLoading) return;\r\n this.isLoading = true;\r\n if (file) {\r\n const model = new ImageUploader();\r\n model.folder = this.folder || null;\r\n model.image = file;\r\n this.uploadService\r\n .UploadSinglePhoto(model)\r\n .then((response: ResultUploader) => {\r\n if (response.processed) {\r\n this.$emit(\"select\", response.path);\r\n } else {\r\n NotificationServiceBus.showErrorMessage(\r\n \"Erro\",\r\n \"O ficheiro não é uma imagem válida\"\r\n );\r\n }\r\n })\r\n .catch(() =>\r\n NotificationServiceBus.showErrorMessage(\r\n \"Erro\",\r\n \"Não foi possível enviar o ficheiro para o servidor\"\r\n )\r\n )\r\n .finally(() => (this.isLoading = false));\r\n } else {\r\n this.isLoading = false;\r\n this.$emit(\"select\", []);\r\n }\r\n }\r\n}\r\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!./SingleImageUploader.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!./SingleImageUploader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SingleImageUploader.vue?vue&type=template&id=25a99a95&\"\nimport script from \"./SingleImageUploader.vue?vue&type=script&lang=ts&\"\nexport * from \"./SingleImageUploader.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\ninstallComponents(component, {VFileInput})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('Panel',{attrs:{\"title\":false,\"footer\":false}},[_c('v-form',{ref:\"form\",staticClass:\"add__comment\",attrs:{\"action\":\"/\",\"method\":\"post\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onCreateUserComment($event)}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('div',{staticClass:\"mb-3\"},[_vm._v(\"Adicionar comentário:\")]),_c('v-textarea',{attrs:{\"name\":\"Description\",\"rows\":\"4\",\"outlined\":\"\",\"label\":\"O seu comentário\",\"rules\":[_vm.$rules.minLenght(5)]},model:{value:(_vm.comment.message),callback:function ($$v) {_vm.$set(_vm.comment, \"message\", $$v)},expression:\"comment.message\"}}),_c('div',{staticClass:\"d-flex k-align-center justify-space-between\"},[_c('v-checkbox',{attrs:{\"hide-details\":true,\"label\":\"Comentário Público\"},model:{value:(_vm.comment.isPublic),callback:function ($$v) {_vm.$set(_vm.comment, \"isPublic\", $$v)},expression:\"comment.isPublic\"}}),_c('v-btn',{attrs:{\"disabled\":!_vm.isValid,\"loading\":_vm.isLoading,\"color\":\"primary\",\"type\":\"submit\"}},[_vm._v(\"Confirmar\")])],1)],1),_c('hr',{staticClass:\"my-4\"}),(_vm.allComments.length > 0)?_c('div',{staticClass:\"comments__list\"},_vm._l((_vm.allComments),function(item,index){return _c('div',{key:item.idUserComment,staticClass:\"row k-align-center comments__list__item\",class:!_vm.isEven(index) ? 'left-side' : 'right-side'},[(!_vm.isEven(index))?_c('div',{staticClass:\"col-2\"},[(item.user)?_c('div',{staticClass:\"comments__list__item--img\"},[_c('UserBadge',{attrs:{\"badge\":item.user}})],1):_vm._e()]):_vm._e(),_c('div',{staticClass:\"col-8\",class:_vm.isEven(index) ? 'offset-2' : ''},[_c('div',{staticClass:\"size--s12 comments__list__item--time\"},[_c('strong',[_vm._v(_vm._s(_vm._f(\"datetime\")(item.dateCreated)))]),_vm._v(\"- \"),(item.userRelated)?_c('span',[_vm._v(_vm._s(item.userRelated.name))]):_c('i',[_vm._v(\"Utilizador Eliminado\")]),_vm._v(\" escreveu \")]),_c('div',{staticClass:\"comments__list__item--text bg--comment\",domProps:{\"innerHTML\":_vm._s(item.message)}})]),(_vm.isEven(index))?_c('div',{staticClass:\"col-2\"},[(item.user)?_c('div',{staticClass:\"comments__list__item--img\"},[_c('UserBadge',{attrs:{\"badge\":item.user}})],1):_vm._e()]):_vm._e()])}),0):_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\" Não existem \"),_c('strong',[_vm._v(\"comentários\")]),_vm._v(\" registados. \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AuthenticatedService } from \"../abstract/base.service\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\nimport { CreateUserCommentCommand } from \"@/server/app.commands\";\r\nimport { UserCommentDto } from \"@/server/app.dtos\";\r\nimport { GetUserCommentsDtosQuery } from \"@/server/app.queries\";\r\n\r\nexport class UsersCommentsService extends AuthenticatedService {\r\n CreateComment(comment: CreateUserCommentCommand): Promise {\r\n return this.Post(\r\n `${this.baseUrl}api/users/${comment.idUser}/comments`,\r\n comment\r\n );\r\n }\r\n\r\n GetComments(\r\n request: GetUserCommentsDtosQuery\r\n ): Promise> {\r\n return this.Get(\r\n `${this.baseUrl}api/users/${\r\n request.idUser\r\n }/comments?${this.GetQueryStringByObject(request)}`\r\n );\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport {\r\n LanguageDto,\r\n UserDto,\r\n UserCommentDto\r\n} from \"@/server/app.dtos\";\r\nimport { UsersCommentsService } from \"@/services/api/users.comments.service\";\r\nimport { CreateUserCommentCommand } from \"@/server/app.commands\";\r\nimport { GetUserCommentsDtosQuery } from \"@/server/app.queries\";\r\nimport { NotificationServiceBus } from \"@/services/bus/notifications.service\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\n\r\n@Component\r\nexport default class UserDetailCommentsPage extends Vue {\r\n @Prop() user!: UserDto;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n usersCommentsService: UsersCommentsService = new UsersCommentsService();\r\n comment: CreateUserCommentCommand = new CreateUserCommentCommand();\r\n allComments: UserCommentDto[] = [];\r\n isLoading: boolean = false;\r\n isValid: boolean = false;\r\n\r\n async created() {\r\n await this.LoadComments();\r\n }\r\n\r\n async LoadComments() {\r\n if (this.isLoading) return;\r\n const query = new GetUserCommentsDtosQuery();\r\n query.idLanguage = this.currentLanguage.idLanguage;\r\n query.idUser = this.user.idUser;\r\n this.isLoading = true;\r\n await this.usersCommentsService.GetComments(query)\r\n .then((result: ListResponse) => {\r\n this.allComments = result.data;\r\n })\r\n .catch((error: any) => NotificationServiceBus.showError(error))\r\n .finally(() => (this.isLoading = false));\r\n }\r\n\r\n async onCreateUserComment() {\r\n if (this.isLoading) return;\r\n this.isLoading = true;\r\n this.comment.idUser = this.user.idUser;\r\n await this.usersCommentsService\r\n .CreateComment(this.comment)\r\n .then(async () => {\r\n this.isLoading = false;\r\n NotificationServiceBus.showSuccessMessage(\r\n \"Sucesso\",\r\n \"Operação efetuada com sucessso\"\r\n );\r\n this.comment.message = \"\";\r\n this.comment.isPublic = false;\r\n (this.$refs.form as any).resetValidation();\r\n await this.LoadComments();\r\n })\r\n .catch((error: any) => {\r\n this.isLoading = false;\r\n NotificationServiceBus.showError(error);\r\n });\r\n }\r\n\r\n isEven(index: number): boolean {\r\n return index % 2 == 1;\r\n }\r\n}\r\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!./Comments.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!./Comments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=8da1e648&scoped=true&\"\nimport script from \"./Comments.vue?vue&type=script&lang=ts&\"\nexport * from \"./Comments.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=8da1e648&scoped=true&lang=scss&\"\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 \"8da1e648\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VAlert,VBtn,VCheckbox,VForm,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('Panel',{attrs:{\"title\":false,\"footer\":false}},[_c('MetadataPresenter',{attrs:{\"metadata\":_vm.metadata}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { LanguageDto, UserDto, MetadataConfiguration } from \"@/server/app.dtos\";\r\nimport { UsersService } from \"@/services/api/users.service\";\r\nimport { GetUserMetadataDtoQuery } from \"@/server/app.queries\";\r\n\r\n@Component\r\nexport default class UserDetailMetadataPage extends Vue {\r\n @Prop() user!: UserDto;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n usersService: UsersService = new UsersService();\r\n metadata: MetadataConfiguration | null = null;\r\n\r\n async created() {\r\n await this.LoadRelatedData();\r\n }\r\n\r\n async LoadRelatedData() {\r\n // Load Metadata\r\n const metadataQuery = new GetUserMetadataDtoQuery();\r\n metadataQuery.idUser = this.user.idUser;\r\n metadataQuery.idLanguage = this.currentLanguage.idLanguage;\r\n await this.usersService\r\n .GetMetadata(metadataQuery)\r\n .then((response: MetadataConfiguration) => (this.metadata = response));\r\n }\r\n}\r\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!./Metadata.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!./Metadata.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Metadata.vue?vue&type=template&id=2347e3f8&\"\nimport script from \"./Metadata.vue?vue&type=script&lang=ts&\"\nexport * from \"./Metadata.vue?vue&type=script&lang=ts&\"\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 null,\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',[_c('Subheader',[_c('div',{staticClass:\"d-flex align-center justify-space-between w-100\"},[_c('Breadcrumb',{attrs:{\"routes\":[\n 'Pessoas',\n 'Utilizadores' \n ]}}),_c('DateClock')],1),_c('div',{staticClass:\"d-flex align-center justify-space-between w-100\"},[_c('h1',[_vm._v(\"Utilizadores\")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"rounded\":\"\"},on:{\"click\":_vm.createUser}},[_c('i',{staticClass:\"las la-plus\"}),_vm._v(\" Adicionar \")])],1)]),_c('LeftMenuLayout',{scopedSlots:_vm._u([{key:\"Menu\",fn:function(){return [_c('LeftMenu')]},proxy:true}])},[(_vm.gridConfigs.inited)?_c('v-data-table',{staticClass:\"elevation-1 custom-grid\",attrs:{\"headers\":_vm.gridConfigs.columns,\"items\":_vm.gridConfigs.data,\"loading\":_vm.gridConfigs.loading,\"server-items-length\":_vm.gridConfigs.total,\"disable-filtering\":false,\"hide-default-footer\":true},on:{\"click:row\":_vm.handleClick},scopedSlots:_vm._u([(_vm.hasGridFilters)?{key:\"body.prepend\",fn:function(ref){\n var headers = ref.headers;\nreturn [_c('tr',{staticClass:\"filters-grid\"},_vm._l((headers),function(header,index){return _c('td',{key:(\"Col-Header-\" + index)},[(header.filterable)?[_c('v-text-field',{attrs:{\"clearable\":true,\"hide-details\":true,\"label\":\"Filtrar\"},on:{\"change\":function($event){return _vm.GridFilter(header)},\"click:clear\":function($event){return _vm.GridClearFilter(header)}},model:{value:(header.filterItem),callback:function ($$v) {_vm.$set(header, \"filterItem\", $$v)},expression:\"header.filterItem\"}})]:_vm._e()],2)}),0)]}}:null,{key:\"item.idUser\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"rounded\":\"\",\"fab\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.viewUser(item)}}},[_c('i',{staticClass:\"las la-search-plus size--s20\"})])]}},{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"d-flex align-center justify-space-between align-center v-data-footer py-3\"},[_c('v-pagination',{attrs:{\"circle\":true,\"length\":_vm.pageCount,\"total-visible\":7},on:{\"input\":_vm.GridPageChanged},model:{value:(_vm.gridConfigs.page),callback:function ($$v) {_vm.$set(_vm.gridConfigs, \"page\", $$v)},expression:\"gridConfigs.page\"}}),_c('div',{staticClass:\"d-flex align-center\"},[_c('span',{staticClass:\"mr-5 size--s20\"},[_vm._v(_vm._s(_vm.gridConfigs.total)+\" results\")]),_c('span',{staticStyle:{\"width\":\"100px\"}},[_c('v-select',{attrs:{\"label\":\"Paginação\",\"items\":[5, 10, 50, 100],\"hide-details\":true},on:{\"input\":_vm.GridPagesizeChanged},model:{value:(_vm.gridConfigs.pageSize),callback:function ($$v) {_vm.$set(_vm.gridConfigs, \"pageSize\", $$v)},expression:\"gridConfigs.pageSize\"}})],1)])],1)]},proxy:true}],null,true)}):_vm._e()],1)],1)}\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('h4',[_vm._v(\"Tipo\")]),_c('nav',[_c('v-radio-group-extended',{staticClass:\"m-0 p-0\",attrs:{\"mandatory\":false},model:{value:(_vm.currentTypeId),callback:function ($$v) {_vm.currentTypeId=$$v},expression:\"currentTypeId\"}},[_c('v-radio',{staticClass:\"m-0 p-0\",attrs:{\"label\":\"Todos\",\"value\":null,\"hide-details\":true}}),_vm._l((_vm.types),function(item){return _c('v-radio',{key:(\"cbGroup-\" + (item.idUserType)),staticClass:\"m-0 p-0\",attrs:{\"label\":item.title,\"value\":item.idUserType,\"hide-details\":true}})})],2)],1),_c('h4',[_vm._v(\"Grupo\")]),_c('nav',[_c('v-radio-group-extended',{staticClass:\"m-0 p-0\",attrs:{\"mandatory\":false},model:{value:(_vm.currentGroupId),callback:function ($$v) {_vm.currentGroupId=$$v},expression:\"currentGroupId\"}},[_c('v-radio',{staticClass:\"m-0 p-0\",attrs:{\"label\":\"Todos\",\"value\":null,\"hide-details\":true}}),_vm._l((_vm.groups),function(item){return _c('v-radio',{key:(\"cbGroup-\" + (item.idAppGroup)),staticClass:\"m-0 p-0\",attrs:{\"label\":item.name,\"value\":item.idAppGroup,\"hide-details\":true}})})],2)],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\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport ConfigsService from \"@/services/api/configs.service\";\r\nimport { LanguageDto, AppGroupDto, UserTypeDto } from \"@/server/app.dtos\";\r\n\r\n@Component\r\nexport default class UsersMenuGlobal extends Vue {\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n\r\n @Watch(\"currentTypeId\")\r\n onTypeChanged() {\r\n const p = Object.assign({}, this.$route.query, {\r\n skip: 0,\r\n idUserType: this.currentTypeId\r\n });\r\n this.$router.push({ query: p });\r\n }\r\n\r\n @Watch(\"currentGroupId\")\r\n onGroupChanged() {\r\n const p = Object.assign({}, this.$route.query, {\r\n skip: 0,\r\n idAppGroup: this.currentGroupId\r\n });\r\n this.$router.push({ query: p });\r\n }\r\n configsService: ConfigsService = new ConfigsService();\r\n groups: AppGroupDto[] = [];\r\n types: UserTypeDto[] = [];\r\n currentGroupId: number | null = null;\r\n currentTypeId: number | null = null;\r\n\r\n async created() {\r\n if (this.$route.query) {\r\n const q = this.$route.query;\r\n if (q.idAppGroup) {\r\n this.currentGroupId = parseInt(q.idAppGroup as string);\r\n }\r\n if (q.idUserType) {\r\n this.currentTypeId = parseInt(q.idUserType as string);\r\n }\r\n }\r\n await this.Load();\r\n }\r\n\r\n async Load() {\r\n const q = this.$route.query;\r\n await this.configsService\r\n .Load(\"api/appgroups\", \"IdLanguage=\" + this.currentLanguage.idLanguage)\r\n .then(result => {\r\n this.groups = result;\r\n if (q.idAppGroup) {\r\n this.currentGroupId = parseInt(q.idAppGroup as string);\r\n }\r\n });\r\n\r\n await this.configsService\r\n .Load(\"api/usertypes\", \"IdLanguage=\" + this.currentLanguage.idLanguage)\r\n .then(result => {\r\n this.types = result;\r\n if (q.idUserType) {\r\n this.currentTypeId = parseInt(q.idUserType as string);\r\n }\r\n });\r\n }\r\n}\r\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!./MenuList.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!./MenuList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuList.vue?vue&type=template&id=2af2b917&\"\nimport script from \"./MenuList.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuList.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\ninstallComponents(component, {VRadio})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Watch } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { mixins } from \"vue-class-component\";\r\nimport { LanguageDto, UserDto } from \"@/server/app.dtos\";\r\nimport SideComponent from \"@/models/shared/side.component\";\r\nimport { LayoutServiceBus } from \"@/services/bus/layout.service\";\r\nimport { UsersService } from \"@/services/api/users.service\";\r\nimport {\r\n ServerGrid,\r\n DataServerGridOptions\r\n} from \"@/components/mixins/ServerGridMixins\";\r\nimport MenuList from \"./shared/MenuList.vue\";\r\nimport {\r\n GetUsersDtosQuery,\r\n GetUsersDtosIncludeOptions\r\n} from \"@/server/app.queries\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\n\r\n@Component({\r\n components: {\r\n LeftMenu: MenuList\r\n }\r\n})\r\nexport default class ActivitiesListPage extends mixins(ServerGrid) {\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n @Watch(\"$route\", { deep: true })\r\n onRouteChange() {\r\n this.Load();\r\n }\r\n usersService: UsersService = new UsersService();\r\n\r\n constructor() {\r\n super();\r\n this.gridConfigs = new DataServerGridOptions();\r\n }\r\n\r\n handleClick(user:any,data:any){\r\n this.viewUser(user);\r\n }\r\n\r\n async created() {\r\n this.gridConfigs.columns = [\r\n {\r\n text: \"Nome\",\r\n value: \"name\",\r\n filterable: true,\r\n sortable: true\r\n },\r\n {\r\n text: \"Email\",\r\n value: \"email\",\r\n filterable: true,\r\n sortable: true\r\n },\r\n {\r\n text: \"Contato Principal\",\r\n value: \"contactDefault\",\r\n filterable: true,\r\n sortable: true\r\n },\r\n {\r\n text: \"\",\r\n value: \"idUser\",\r\n align: \"end\"\r\n }\r\n ];\r\n this.GridInit();\r\n await this.Load();\r\n }\r\n\r\n async Load() {\r\n const request = new GetUsersDtosQuery();\r\n request.init(this.$route.query);\r\n request.includes = new GetUsersDtosIncludeOptions();\r\n if (!request.take || request.take <= 0) {\r\n request.skip = 0;\r\n request.take = this.gridConfigs.pageSize;\r\n }\r\n this.GridSetLoading(true);\r\n await this.usersService\r\n .GetList(request)\r\n .then((result: ListResponse) => this.GridLoad(result))\r\n .catch((error: any) => console.log(error))\r\n .finally(() => this.GridSetLoading(false));\r\n }\r\n\r\n viewUser(user: UserDto): void {\r\n console.log(user)\r\n const comp = new SideComponent();\r\n comp.title = \"DetailUserSideMenuComponent\";\r\n comp.args = {\r\n user: user\r\n };\r\n LayoutServiceBus.openSideMenu(comp);\r\n }\r\n\r\n createUser(): void {\r\n const comp = new SideComponent();\r\n comp.title = \"CreateUserSideMenuComponent\";\r\n comp.args = {};\r\n LayoutServiceBus.openSideMenu(comp);\r\n }\r\n}\r\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!./List.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!./List.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=5d6513ba&scoped=true&\"\nimport script from \"./List.vue?vue&type=script&lang=ts&\"\nexport * from \"./List.vue?vue&type=script&lang=ts&\"\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 \"5d6513ba\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VPagination } from 'vuetify/lib/components/VPagination';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VDataTable,VPagination,VSelect,VTextField})\n","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","import mod 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!./Comments.vue?vue&type=style&index=0&id=8da1e648&scoped=true&lang=scss&\"; export default mod; 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!./Comments.vue?vue&type=style&index=0&id=8da1e648&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.user)?_c('div',{staticClass:\"card card-preview\"},[_c('div',{staticClass:\"card-header\"},[_c('div',{staticClass:\"card-header__box d-flex align-stretch\"},[_c('div',{staticClass:\"card-header__box--content w-100 d-flex flex-column justify-space-between\"},[_c('h2',{staticClass:\"text-h1 text-white font-weight-light mb-4\"},[_vm._v(\" \"+_vm._s(_vm.user.name)+\" \")]),_c('div',{staticClass:\"d-flex align-center justify-space-between w-100\"},[_c('div',{staticClass:\"d-flex align-center\"},[(_vm.user.userType)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.user.userType.title))])]):_vm._e()]),_c('div',[(_vm.canView())?_c('v-btn',{attrs:{\"rounded\":\"\",\"outlined\":\"\",\"color\":\"white\",\"to\":(\"/user/\" + (_vm.user.idUser))}},[_vm._v(\"Ver detalhe\")]):_vm._e(),(_vm.canEdit())?_c('v-btn',{staticClass:\"ml-2\",attrs:{\"rounded\":\"\",\"outlined\":\"\",\"color\":\"primary\",\"to\":(\"/user/\" + (_vm.user.idUser) + \"/edit\")}},[_vm._v(\"Editar\")]):_vm._e()],1)])])])]),_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"card--box\"},[_c('div',{staticClass:\"row no-gutters\"},[_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('div',{staticClass:\"row no-gutters align-center\"},[_c('div',{staticClass:\"col-sm-4 col-12\"},[_vm._v(\"Contacto Primário:\")]),_c('div',{staticClass:\"col-sm-8 col-12\"},[_c('strong',[_vm._v(_vm._s(_vm.user.contactDefault))])])])]),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('div',{staticClass:\"row no-gutters align-center\"},[_c('div',{staticClass:\"col-sm-4 col-12\"},[_vm._v(\"Contacto Secundário:\")]),_c('div',{staticClass:\"col-sm-8 col-12\"},[_c('strong',[_vm._v(_vm._s(_vm.user.contactOptional))])])])])])])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import PermissionsHandler, {\r\n PermissionModes\r\n} from \"./abstract/permissions.handler\";\r\nimport { UserDto } from \"@/server/app.dtos\";\r\n\r\nexport default class UserPermissions extends PermissionsHandler {\r\n canView(user: UserDto): boolean {\r\n return this.Check(this.backoffice, \"users\", false, PermissionModes.View);\r\n }\r\n\r\n canEdit(user: UserDto): boolean {\r\n return this.Check(this.backoffice, \"users\", false, PermissionModes.Edit);\r\n }\r\n\r\n canDelete(user: UserDto): boolean {\r\n return this.Check(this.backoffice, \"users\", false, PermissionModes.Delete);\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { BaseSideComponent } from \"@/components/structure/MixinsSideComponent\";\r\nimport UserPermissions from \"@/permissions/user.permissions\";\r\nimport { LanguageDto, UserDto } from \"@/server/app.dtos\";\r\n\r\n@Component\r\nexport default class DetailUserSideMenuComponent extends BaseSideComponent {\r\n CdnUrl: string = process.env.VUE_APP_CDN_URL;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n userPermissions: UserPermissions = new UserPermissions();\r\n isLoading: boolean = false;\r\n isValid: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n if (this.CdnUrl.endsWith(\"/\")) {\r\n this.CdnUrl = this.CdnUrl.substring(0, this.CdnUrl.length - 1);\r\n }\r\n }\r\n\r\n get user(): UserDto | null {\r\n return this.args?.user || null;\r\n }\r\n\r\n canView(): boolean {\r\n if (this.user) return this.userPermissions.canView(this.user) || false;\r\n return false;\r\n }\r\n\r\n canEdit(): boolean {\r\n if (this.user) return this.userPermissions.canEdit(this.user) || false;\r\n return false;\r\n }\r\n}\r\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!./DetailUser.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!./DetailUser.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DetailUser.vue?vue&type=template&id=7a1d9827&\"\nimport script from \"./DetailUser.vue?vue&type=script&lang=ts&\"\nexport * from \"./DetailUser.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row mt-5\"},[_c('div',{staticClass:\"col-md-6 col-12\"}),_c('div',{staticClass:\"col-md-6 col-12\"},[_c('div',{staticClass:\"mb-5\"},[_c('h4',{staticClass:\"mb-2\"},[_vm._v(\"Descrição\")])])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { LanguageDto, UserDto } from \"@/server/app.dtos\";\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\n\r\n@Component\r\nexport default class UserDetailDashboardPage extends Vue {\r\n @Prop() user!: UserDto;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n}\r\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!./Dashboard.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!./Dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=5847866c&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=ts&\"\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 null,\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('v-form',{staticClass:\"card card-create\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onCreateUser($event)}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('div',{staticClass:\"card-header\"},[_c('span',[_vm._v(\"Adicionar\")]),_c('button',{staticClass:\"btn btn-link text-decoration-none p-0\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.close($event)}}},[_c('span',{staticClass:\"las la-times size--s30\"})])]),_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"card--box\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('v-text-field',{attrs:{\"label\":\"Nome*\",\"rules\":[_vm.$rules.required]},model:{value:(_vm.instance.name),callback:function ($$v) {_vm.$set(_vm.instance, \"name\", $$v)},expression:\"instance.name\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-text-field',{attrs:{\"label\":\"Email\",\"rules\":[_vm.$rules.email]},model:{value:(_vm.instance.email),callback:function ($$v) {_vm.$set(_vm.instance, \"email\", $$v)},expression:\"instance.email\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-select',{attrs:{\"item-text\":'title',\"item-value\":'idUserType',\"label\":\"Tipo de Utilizador\",\"items\":_vm.userTypes,\"clearable\":true},model:{value:(_vm.instance.idUserType),callback:function ($$v) {_vm.$set(_vm.instance, \"idUserType\", $$v)},expression:\"instance.idUserType\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-autocomplete',{attrs:{\"label\":\"Nacionalidade\",\"items\":_vm.nationalities,\"clearable\":true},model:{value:(_vm.instance.nationality),callback:function ($$v) {_vm.$set(_vm.instance, \"nationality\", $$v)},expression:\"instance.nationality\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('DatePicker',{attrs:{\"label\":\"Data de Nascimento\",\"required\":\"\"},model:{value:(_vm.instance.dateBirth),callback:function ($$v) {_vm.$set(_vm.instance, \"dateBirth\", $$v)},expression:\"instance.dateBirth\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-text-field',{attrs:{\"label\":\"Contato Principal\"},model:{value:(_vm.instance.contactDefault),callback:function ($$v) {_vm.$set(_vm.instance, \"contactDefault\", $$v)},expression:\"instance.contactDefault\"}})],1),_c('div',{staticClass:\"col-sm-6 col-12\"},[_c('v-text-field',{attrs:{\"label\":\"Contato Secundário\",\"required\":\"\"},model:{value:(_vm.instance.contactOptional),callback:function ($$v) {_vm.$set(_vm.instance, \"contactOptional\", $$v)},expression:\"instance.contactOptional\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('v-autocomplete',{attrs:{\"item-text\":'name',\"item-value\":'idAppGroup',\"label\":\"Grupos\",\"items\":_vm.appGroups,\"chips\":\"\",\"multiple\":\"\",\"clearable\":\"\",\"deletable-chips\":true},model:{value:(_vm.instance.appGroups),callback:function ($$v) {_vm.$set(_vm.instance, \"appGroups\", $$v)},expression:\"instance.appGroups\"}})],1)])]),(_vm.metadataConfiguration)?_c('div',{staticClass:\"card--box\"},[_c('MetadataFormPresenter',{model:{value:(_vm.metadataConfiguration),callback:function ($$v) {_vm.metadataConfiguration=$$v},expression:\"metadataConfiguration\"}})],1):_vm._e()]),_c('div',{staticClass:\"card-footer\"},[_c('div',{staticClass:\"card--box d-flex align-center justify-space-between\"},[_c('v-btn',{attrs:{\"disabled\":!_vm.isValid,\"loading\":_vm.isLoading,\"color\":\"primary\",\"type\":\"submit\"}},[_vm._v(\"Guardar\")]),_c('v-btn',{attrs:{\"text\":\"\",\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();return _vm.close($event)}}},[_vm._v(\"Cancelar\")])],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\n\n\n\r\nimport { Component, Watch } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport ConfigsService from \"@/services/api/configs.service\";\r\nimport { BaseSideComponent } from \"@/components/structure/MixinsSideComponent\";\r\nimport { NotificationServiceBus } from \"@/services/bus/notifications.service\";\r\nimport { UsersService } from \"@/services/api/users.service\";\r\nimport { CurrentUser } from \"@/models/auth/current.user\";\r\nimport { CreateUserCommand } from \"@/server/app.commands\";\r\nimport {\r\n AppGroupDto,\r\n LanguageDto,\r\n MetadataConfiguration,\r\n UserTypeDto\r\n} from \"@/server/app.dtos\";\r\nimport { UserTypesService } from \"@/services/api/user.types.service\";\r\nimport { GetUserTypeMetadataGroupsConfigurationDtoQuery } from \"@/server/app.queries\";\r\nimport { GenerateMetadataComposer } from \"@/utilities/helpers\";\r\nimport nationalities from \"@/models/storage/nationalities\";\r\n\r\n@Component\r\nexport default class CreateUserSideMenuComponent extends BaseSideComponent {\r\n @Getter(\"iduser\") iduser!: CurrentUser;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n configsService: ConfigsService = new ConfigsService();\r\n usersService: UsersService = new UsersService();\r\n userTypesService: UserTypesService = new UserTypesService();\r\n instance: CreateUserCommand = new CreateUserCommand();\r\n nationalities: string[] = nationalities;\r\n userTypes: UserTypeDto[] | null = null;\r\n appGroups: AppGroupDto[] | null = null;\r\n metadataConfiguration: MetadataConfiguration | null = null;\r\n isLoading: boolean = false;\r\n isValid: boolean = false;\r\n\r\n @Watch(\"instance.idUserType\")\r\n async onChangeIdUserType() {\r\n await this.loadMetadataconfiguration();\r\n }\r\n\r\n async onCreateUser() {\r\n if (this.isLoading || !this.isValid) return;\r\n this.isLoading = true;\r\n\r\n if (this.metadataConfiguration != null) {\r\n this.instance.metadata = GenerateMetadataComposer(\r\n this.metadataConfiguration\r\n ).metadata;\r\n }\r\n\r\n await this.usersService\r\n .Create(this.instance)\r\n .then((id: number) => {\r\n NotificationServiceBus.showSuccessMessage(\r\n \"Sucesso\",\r\n \"Operação efetuada com sucessso\"\r\n );\r\n this.$router.push(`/user/${id}`);\r\n })\r\n .catch((error: any) => NotificationServiceBus.showError(error))\r\n .finally(() => (this.isLoading = false));\r\n }\r\n\r\n async created() {\r\n const query: string = \"IdLanguage=\" + this.currentLanguage.idLanguage;\r\n\r\n // Load User Types\r\n await this.configsService.Load(\"api/userTypes\", query).then(result => {\r\n this.userTypes = result;\r\n });\r\n\r\n // Load App Groups\r\n await this.configsService.Load(\"api/appgroups\", query).then(result => {\r\n this.appGroups = result;\r\n });\r\n }\r\n\r\n async loadMetadataconfiguration() {\r\n const query = new GetUserTypeMetadataGroupsConfigurationDtoQuery();\r\n query.idLanguage = this.currentLanguage.idLanguage;\r\n query.idUserType = this.instance.idUserType;\r\n query.visibleOnCreate = true;\r\n await this.userTypesService\r\n .GetMetadataGroupsConfiguration(query)\r\n .then(\r\n (result: MetadataConfiguration) => (this.metadataConfiguration = result)\r\n )\r\n .catch(() => (this.metadataConfiguration = null));\r\n }\r\n}\r\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!./CreateUser.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!./CreateUser.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateUser.vue?vue&type=template&id=cffd446c&scoped=true&\"\nimport script from \"./CreateUser.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateUser.vue?vue&type=script&lang=ts&\"\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 \"cffd446c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAutocomplete,VBtn,VForm,VSelect,VTextField})\n"],"sourceRoot":""}