@duplicati/ngclient 0.0.144 → 0.0.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{chunk-X3IA226Q.js → chunk-2F6NVETW.js} +1 -1
- package/{chunk-VC72SWC4.js → chunk-2QJC4PGQ.js} +1 -1
- package/{chunk-PT7UQJD4.js → chunk-2UCO57JQ.js} +1 -1
- package/chunk-2UGURIOT.js +1 -0
- package/{chunk-4YL5DZVH.js → chunk-43JMN2ZY.js} +1 -1
- package/{chunk-LZUM5XKC.js → chunk-4TDUWDRL.js} +1 -1
- package/{chunk-SCOG2I64.js → chunk-62QANGOE.js} +1 -1
- package/{chunk-XNVRJH42.js → chunk-6LTGTS6B.js} +1 -1
- package/{chunk-73RDJP55.js → chunk-6OPAGPKF.js} +1 -1
- package/{chunk-LEXA637O.js → chunk-7B43LCPI.js} +1 -1
- package/{chunk-KOVQRACM.js → chunk-7EBTJOD7.js} +1 -1
- package/{chunk-6GC5VKTI.js → chunk-7IQY6U5W.js} +1 -1
- package/chunk-A6VGO6B5.js +1 -0
- package/{chunk-GHFYBZHQ.js → chunk-AJTK6HBC.js} +1 -1
- package/chunk-B2D4QGDJ.js +1 -0
- package/chunk-BPJCKQYP.js +1 -0
- package/{chunk-UACX27D3.js → chunk-DDWLL7XA.js} +1 -1
- package/{chunk-GUH5TMOS.js → chunk-DELLEGXW.js} +1 -1
- package/{chunk-IHNX6WZQ.js → chunk-DFMGS3IN.js} +1 -1
- package/chunk-DFMPWF6R.js +1 -0
- package/chunk-DKTUN7FF.js +1 -0
- package/{chunk-KGJAK6OP.js → chunk-DLMKZACT.js} +1 -1
- package/{chunk-FFY3NRCC.js → chunk-DNDTLTUM.js} +1 -1
- package/{chunk-3UN32GIC.js → chunk-DVDTYV66.js} +1 -1
- package/{chunk-IGOZJJE3.js → chunk-E66CBA5F.js} +1 -1
- package/{chunk-JA7OQSO3.js → chunk-EBIM5FBM.js} +1 -1
- package/{chunk-GO22DJ44.js → chunk-ESUPNSKH.js} +1 -1
- package/{chunk-OTMW34HV.js → chunk-FCRM5DER.js} +1 -1
- package/chunk-FDCY62KM.js +1 -0
- package/chunk-FFEDQIYN.js +1 -0
- package/{chunk-XQ4CAUD4.js → chunk-FUOS2UGQ.js} +1 -1
- package/{chunk-BIETD4DI.js → chunk-FZHTJSDJ.js} +1 -1
- package/{chunk-BXRW2LGW.js → chunk-GB3UMYUD.js} +1 -1
- package/chunk-H7K35UUX.js +1 -0
- package/chunk-HI4XLHO3.js +1 -0
- package/{chunk-QDFCX6XE.js → chunk-HNWRQABR.js} +3 -3
- package/{chunk-J2MHNGNQ.js → chunk-IFW3O4YJ.js} +1 -1
- package/{chunk-CTEFMU6N.js → chunk-J3ONM4TQ.js} +1 -1
- package/{chunk-CDRDYQEV.js → chunk-KDYD6LMI.js} +1 -1
- package/{chunk-GCZWFRPZ.js → chunk-KGKIF5H4.js} +1 -1
- package/chunk-KLW6HEOS.js +1 -0
- package/{chunk-K3ZQ67VT.js → chunk-L6CWVBZ6.js} +1 -1
- package/chunk-LVP2TPMO.js +1 -0
- package/{chunk-5PSLWJTF.js → chunk-M6WWZKV7.js} +1 -1
- package/chunk-MAQO5X5Q.js +1 -0
- package/{chunk-GDBU3Z7P.js → chunk-MSLKIHQQ.js} +1 -1
- package/{chunk-UT6XGEMV.js → chunk-MVNLSG6Z.js} +1 -1
- package/{chunk-USU2EHJV.js → chunk-N5SC4SKW.js} +1 -1
- package/{chunk-QY6E755W.js → chunk-N6ABN43N.js} +1 -1
- package/{chunk-WWFNG47J.js → chunk-NJEX2N4Q.js} +1 -1
- package/{chunk-JIHMT35A.js → chunk-NJZSEKTD.js} +1 -1
- package/{chunk-J3BBLPAD.js → chunk-NOPMCS2Z.js} +1 -1
- package/{chunk-ACH476VA.js → chunk-NQ27E6KP.js} +1 -1
- package/{chunk-QGFC5ZUR.js → chunk-O64ZZGQZ.js} +1 -1
- package/{chunk-CZLLEVMJ.js → chunk-OMMUXRXE.js} +1 -1
- package/{chunk-AO4O42CM.js → chunk-OWDKOVPL.js} +1 -1
- package/{chunk-TJOWPBPB.js → chunk-PN3U7MRX.js} +1 -1
- package/{chunk-CFNP4FBG.js → chunk-POMLWQHO.js} +1 -1
- package/{chunk-BGUKMOKY.js → chunk-QDFDQHU3.js} +1 -1
- package/{chunk-7AMBMWZP.js → chunk-QHC3CY43.js} +1 -1
- package/{chunk-ARXKB7WH.js → chunk-QITXA3NT.js} +1 -1
- package/chunk-QYI4IMJE.js +8 -0
- package/{chunk-J5PSMGKZ.js → chunk-R5RIFWZO.js} +1 -1
- package/chunk-RPU4AJBK.js +1 -0
- package/chunk-RUFE3SMI.js +1 -0
- package/{chunk-WJPLJKPQ.js → chunk-RUXCS4ZK.js} +1 -1
- package/{chunk-7X7K5IXS.js → chunk-SFSB73YO.js} +1 -1
- package/{chunk-B5FUQFEQ.js → chunk-TDKBGGNK.js} +1 -1
- package/{chunk-6XBSQDXR.js → chunk-TIWH4NKT.js} +1 -1
- package/{chunk-XHUUCB2W.js → chunk-TKO3OH2C.js} +1 -1
- package/chunk-U5C62E46.js +1 -0
- package/chunk-UIIHBXLB.js +1 -0
- package/{chunk-OXOOR7I4.js → chunk-UIJYCGKA.js} +1 -1
- package/{chunk-ETCRT3EV.js → chunk-UKQFDBNO.js} +1 -1
- package/{chunk-CWBEE627.js → chunk-UP5EOICU.js} +1 -1
- package/{chunk-6WWCFRZ5.js → chunk-VHE3K2F5.js} +1 -1
- package/{chunk-66BSPEOQ.js → chunk-VTSUHAP5.js} +1 -1
- package/chunk-W6DRPPZU.js +1 -0
- package/{chunk-UW4GBMEP.js → chunk-WS76KLII.js} +1 -1
- package/{chunk-T4TFHAZT.js → chunk-XJZ5GM36.js} +1 -1
- package/{chunk-ZGAC2JKG.js → chunk-Z3EPZZGY.js} +1 -1
- package/{chunk-FVE45QKX.js → chunk-ZNWZFRFW.js} +1 -1
- package/index.html +2 -2
- package/{main-SUSCPR3H.js → main-Z5T5HH5Q.js} +1 -1
- package/package.json +1 -1
- package/styles-LRXGHWCZ.css +1 -0
- package/chunk-2CTSAUUN.js +0 -1
- package/chunk-2NU5Y4V7.js +0 -1
- package/chunk-2RB5RKNM.js +0 -1
- package/chunk-74NKDA4G.js +0 -1
- package/chunk-7WD3AN66.js +0 -1
- package/chunk-AB2L3URR.js +0 -1
- package/chunk-B7NRTB6T.js +0 -1
- package/chunk-C2L3SQU3.js +0 -1
- package/chunk-ERKYRXHP.js +0 -8
- package/chunk-HKZX6OB5.js +0 -1
- package/chunk-L2EO4M4B.js +0 -1
- package/chunk-ODVCGM2O.js +0 -1
- package/chunk-QFU6VJXV.js +0 -1
- package/chunk-QNOIURSX.js +0 -1
- package/chunk-UGLRUY6T.js +0 -1
- package/chunk-UUODEERG.js +0 -1
- package/chunk-WHKW5IYF.js +0 -1
- package/chunk-WRNQOX5R.js +0 -1
- package/chunk-ZVIRETHC.js +0 -1
- package/styles-EZGVWHZF.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as R}from"./chunk-
|
|
1
|
+
import{a as R}from"./chunk-VTSUHAP5.js";import{a as k,n as w}from"./chunk-H7K35UUX.js";import"./chunk-NOPMCS2Z.js";import{ea as D}from"./chunk-RUXCS4ZK.js";import"./chunk-FPPZ4BUR.js";import{Ab as c,Ac as _,Bb as r,Bc as $,Hc as b,Ib as u,Jb as M,Oc as A,Ra as l,Sb as P,Wb as N,Yb as s,_ as y,bb as T,ea as O,fa as x,gb as m,gc as C,hc as E,ic as S,lc as a,mc as F,oa as p,ub as d,vb as f,xb as I,yb as v,zb as g}from"./chunk-HNWRQABR.js";import"./chunk-EUDKD2JW.js";var V=e=>({children:e,level:0}),Y=e=>({$implicit:e}),j=(e,t)=>({children:e,level:t}),z=(e,t)=>t.id;function B(e,t){if(e&1&&(c(0,"sh-icon"),a(1,"caret-down"),r()),e&2){let n=s().$implicit;S("open",n.isOpen())}}function G(e,t){e&1&&(c(0,"sh-icon"),a(1,"dot"),r())}function U(e,t){e&1&&u(0)}function X(e,t){if(e&1&&m(0,U,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);g("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,Y,$(2,j,n.children,o.level+1)))}}function q(e,t){if(e&1){let n=M();c(0,"div",4,1),N("click",function(){let i=O(n).$implicit,L=s(2);return x(i.children.length>0&&L.toggleNode(i))}),d(2,B,2,2,"sh-icon",5)(3,G,2,0,"sh-icon"),c(4,"div",6),a(5),r()(),d(6,X,1,7,"ng-container")}if(e&2){let n=t.$implicit;S("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),f(n.children.length>0?2:3),l(3),F(n.text),l(),f(n.isOpen()?6:-1)}}function H(e,t){if(e&1&&(c(0,"sh-list"),I(1,q,7,7,null,null,z),r()),e&2){let n=t.$implicit;E("padding-left",n.level*.25,"rem"),l(),v(n.children)}}function J(e,t){e&1&&u(0)}var h=class e{#e=y(R);treeStructure=A(()=>{let t=this.#e.systemInfo();return this.processObject(t,0)});toggleNode(t){t.isOpen.update(n=>!n)}processObject(t,n){let o=[];for(let i in t)typeof t[i]=="object"?o.push({id:i,text:i,children:this.processObject(t[i],n+1),level:n,isOpen:p(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:p(!1)});return o}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=T({type:e,selectors:[["app-server-settings"]],decls:5,vars:6,consts:()=>{let t;return t=$localize`System info`,[["recursiveTree",""],["treeNode",""],t,[4,"ngTemplateOutlet","ngTemplateOutletContext"],["action","",3,"click"],[3,"open"],[1,"text"]]},template:function(n,o){if(n&1&&(c(0,"h3"),P(1,2),r(),m(2,H,3,2,"ng-template",null,0,b)(4,J,1,0,"ng-container",3)),n&2){let i=C(3);l(4),g("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,Y,_(2,V,o.treeStructure())))}},dependencies:[w,k,D],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}sh-icon[_ngcontent-%COMP%]{font-size:1rem}sh-list[_ngcontent-%COMP%]{padding:0}sh-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}sh-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as le}from"./chunk-
|
|
1
|
+
import{a as le}from"./chunk-NJEX2N4Q.js";import{a as re,b as E}from"./chunk-O64ZZGQZ.js";import"./chunk-6LTGTS6B.js";import{a as ae}from"./chunk-DVDTYV66.js";import"./chunk-UIJYCGKA.js";import{a as P}from"./chunk-DELLEGXW.js";import"./chunk-RHW5QVAY.js";import"./chunk-VTSUHAP5.js";import"./chunk-UP5EOICU.js";import{c as ie,e as ne,i as oe,s as se}from"./chunk-N5SC4SKW.js";import"./chunk-Z3EPZZGY.js";import"./chunk-UKQFDBNO.js";import{b as j,e as J}from"./chunk-LVP2TPMO.js";import"./chunk-43JMN2ZY.js";import{C as ee,a as Q,e as Y,g as Z,l as x}from"./chunk-H7K35UUX.js";import{h as te}from"./chunk-NOPMCS2Z.js";import"./chunk-TDKBGGNK.js";import"./chunk-RUXCS4ZK.js";import"./chunk-FPPZ4BUR.js";import"./chunk-6OPAGPKF.js";import{Ab as n,Bb as i,Cb as _,D as G,F as S,G as L,H as p,Oc as b,Pc as m,Qb as u,Ra as r,Rb as h,Sb as T,Tb as H,Ub as K,Wb as g,_ as F,bb as V,ic as D,kc as X,lc as C,oa as s,qc as z,r as y,rc as W,sc as q,ub as w,vb as U,zb as d}from"./chunk-HNWRQABR.js";import"./chunk-EUDKD2JW.js";function ce(c,t){c&1&&(n(0,"sh-icon",19),C(1,"spinner"),i())}function _e(c,t){c&1&&(n(0,"sh-icon",20),C(1,"check"),i())}function de(c,t){c&1&&(n(0,"sh-icon",21),C(1,"warning"),i()),c&2&&d("shTooltip","File not found")}function ue(c,t){let a=re(c).pipe(G(t),L());return E(a,{initialValue:c()})}var f=class c{#o=F(j);#s=F(ae);#e=F(te);#a=F(Y);#t=s("");backupId=E(this.#o.params.pipe(y(t=>t.id)));activeBackup=b(()=>this.#s.backups().find(t=>t.Backup?.ID===this.backupId()));backupFilePath=s("");lastValidatedPath=s("");isValidatedPath=b(()=>this.lastValidatedPath()===this.backupFilePath());pathHasChanged=b(()=>this.backupFilePath()!==this.#t());isValidatingPath=s(!1);#i=ue(this.backupFilePath,500);#n=s(!1);isWaitingForValidation=b(()=>this.#i()!=this.backupFilePath()||this.isValidatingPath());backupFilePathEffect=m(()=>{let t=this.#i(),a=this.activeBackup(),e=this.#n();t!==""&&(this.isValidatingPath.set(!0),this.#e.postApiV1FilesystemValidate({requestBody:{path:t}}).pipe(S(1),p(()=>this.isValidatingPath.set(!1))).subscribe(()=>this.lastValidatedPath.set(t)))});isRestoring=s(!1);isRepairing=s(!1);isDeleting=s(!1);isSavingDbPath=s(!1);isSavingAndRepairing=s(!1);isMovingDb=s(!1);isCreatingBugReport=s(!1);createdReport=s(!1);activeBackupEffect=m(()=>{let t=this.activeBackup();if(!t)return;let a=t.Backup?.DBPath??"";this.backupFilePath.set(a),this.#t.set(a)});repairDatabase(){this.isRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(S(1),p(()=>this.isRepairing.set(!1))).subscribe()}deleteDatabase(t=null){this.isValidatedPath()?this.#a.open(P,{data:{title:$localize`Confirm delete?`,message:$localize`Do you really want to delete the database for ${this.activeBackup()?.Backup?.Name}?`,confirmText:$localize`Delete database`,cancelText:$localize`Cancel`},closed:a=>{a&&this.doDeleteDatabase(t)}}):this.doDeleteDatabase(t)}doDeleteDatabase(t=null){this.isDeleting.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(S(1),p(()=>this.isDeleting.set(!1))).subscribe(()=>{this.lastValidatedPath.set(""),t?.()})}restoreDatabase(){this.isValidatedPath()?this.deleteDatabase(()=>{this.doRepairDatabase()}):this.doRepairDatabase()}doRepairDatabase(){this.isRestoring.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(S(1),p(()=>this.isRestoring.set(!1))).subscribe()}resetDatabasePath(){this.backupFilePath.set(this.#t())}saveDatabasePath(t=null){this.isValidatedPath()?this.#a.open(P,{data:{title:$localize`Confirm reassign?`,message:$localize`The target database path already exists and may belong to another backup. Are you sure you want to assign this backup to an existing database?`,confirmText:$localize`Assign existing database`,cancelText:$localize`Cancel`},closed:a=>{a&&this.doSaveDatabasePath(t)}}):this.doSaveDatabasePath(t)}doSaveDatabasePath(t=null){this.isSavingDbPath.set(!0);let a=this.backupFilePath();this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:a}}).pipe(p(()=>this.isSavingDbPath.set(!1))).subscribe(()=>{this.#t.set(a),t?.()})}saveAndRepairDatabasePath(){this.saveDatabasePath(()=>(this.isSavingAndRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(S(1),p(()=>this.isSavingAndRepairing.set(!1))).subscribe()))}moveDatabasePath(){this.isMovingDb.set(!0);let t=this.backupFilePath();this.#e.postApiV1BackupByIdMovedb({id:this.backupId(),requestBody:{path:t}}).pipe(p(()=>this.isMovingDb.set(!1))).subscribe(()=>{this.#n.update(a=>!a),this.#t.set(t)})}createErrorReport(){this.isCreatingBugReport.set(!0),this.#e.postApiV1BackupByIdCreatereport({id:this.backupId()}).pipe(p(()=>this.isCreatingBugReport.set(!1))).subscribe({next:()=>{this.createdReport.set(!0),window.setTimeout(()=>this.createdReport.set(!1),3e3)}})}static \u0275fac=function(a){return new(a||c)};static \u0275cmp=V({type:c,selectors:[["app-database"]],decls:50,vars:21,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let a;a=$localize`Local database for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. This makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation. `;let o;o=$localize`Maintenance`;let A;A=$localize` If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. If the repair is unsuccessful, you can delete the local database and re-generate. The bug report button can be used to create a copy of the database with path information removed. This should only be used if a developer requests to investigate an issue with your database. `;let M;M=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Repair `;let B;B=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:trash${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON: Delete `;let N;N=$localize`${"\uFFFD#25\uFFFD"}:START_TAG_SH_ICON:clock-counter-clockwise${"\uFFFD/#25\uFFFD"}:CLOSE_TAG_SH_ICON: Restore (delete and repair) `;let I;I=$localize`${"\uFFFD#28\uFFFD"}:START_TAG_SH_ICON:file-plus${"\uFFFD/#28\uFFFD"}:CLOSE_TAG_SH_ICON: Create bug report database `;let $;$=$localize`Placement`;let R;R=$localize`${"\uFFFD#40\uFFFD"}:START_TAG_SH_ICON:backspace${"\uFFFD/#40\uFFFD"}:CLOSE_TAG_SH_ICON: Reset `;let v;v=$localize`${"\uFFFD#43\uFFFD"}:START_TAG_SH_ICON:floppy-disk${"\uFFFD/#43\uFFFD"}:CLOSE_TAG_SH_ICON: Save `;let k;k=$localize`${"\uFFFD#46\uFFFD"}:START_TAG_SH_ICON:wrench${"\uFFFD/#46\uFFFD"}:CLOSE_TAG_SH_ICON: Save & Repair `;let O;return O=$localize`${"\uFFFD#49\uFFFD"}:START_TAG_SH_ICON:flow-arrow${"\uFFFD/#49\uFFFD"}:CLOSE_TAG_SH_ICON: Move existing database `,[t,a,e,o,A,M,B,N,I,$,R,v,k,O,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"actions","maintenance"],["shButton","",3,"click","disabled"],["type","text",3,"ngModelChange","ngModel"],["prefix","",1,"primary"],["prefix",""],["prefix","",3,"shTooltip"],[1,"actions","placement"]]},template:function(a,e){if(a&1&&(_(0,"app-status-bar"),n(1,"section")(2,"div",14)(3,"button",15),u(4,0),_(5,"sh-icon"),h(),i()(),n(6,"article")(7,"h1"),T(8,1),i(),n(9,"p"),T(10,2),i()(),n(11,"article")(12,"h2"),T(13,3),i(),n(14,"p"),T(15,4),i(),n(16,"div",16)(17,"button",17),g("click",function(){return e.repairDatabase()}),u(18,5),_(19,"sh-icon"),h(),i(),n(20,"button",17),g("click",function(){return e.deleteDatabase()}),u(21,6),_(22,"sh-icon"),h(),i(),n(23,"button",17),g("click",function(){return e.restoreDatabase()}),u(24,7),_(25,"sh-icon"),h(),i(),n(26,"button",17),g("click",function(){return e.createErrorReport()}),u(27,8),_(28,"sh-icon"),h(),i()()(),n(29,"article")(30,"h2"),T(31,9),i(),n(32,"sh-form-field")(33,"input",18),q("ngModelChange",function(A){return W(e.backupFilePath,A)||(e.backupFilePath=A),A}),i(),w(34,ce,2,0,"sh-icon",19)(35,_e,2,0,"sh-icon",20)(36,de,2,1,"sh-icon",21),i(),n(37,"div",22)(38,"button",17),g("click",function(){return e.resetDatabasePath()}),u(39,10),_(40,"sh-icon"),h(),i(),n(41,"button",17),g("click",function(){return e.saveDatabasePath()}),u(42,11),_(43,"sh-icon"),h(),i(),n(44,"button",17),g("click",function(){return e.saveAndRepairDatabasePath()}),u(45,12),_(46,"sh-icon"),h(),i(),n(47,"button",17),g("click",function(){return e.moveDatabasePath()}),u(48,13),_(49,"sh-icon"),h(),i()()()()),a&2){let o;r(8),H((o=e.activeBackup())==null||o.Backup==null?null:o.Backup.Name),K(8),r(9),D("loader",e.isRepairing()),d("disabled",!e.isValidatedPath()||e.pathHasChanged()),r(3),D("loader",e.isDeleting()),d("disabled",!e.isValidatedPath()||e.pathHasChanged()),r(3),D("loader",e.isRestoring()),d("disabled",e.pathHasChanged()),r(3),D("loader",e.isCreatingBugReport()),d("disabled",e.isCreatingBugReport()||!e.isValidatedPath()||e.pathHasChanged()),r(6),X(e.isValidatedPath()?"success":"error"),r(),z("ngModel",e.backupFilePath),r(),U(e.isWaitingForValidation()?34:e.isValidatedPath()?35:36),r(4),d("disabled",!e.pathHasChanged()),r(3),d("disabled",!e.pathHasChanged()||e.isWaitingForValidation()),r(3),d("disabled",!e.pathHasChanged()||e.isWaitingForValidation()),r(3),d("disabled",!e.pathHasChanged()||e.isValidatedPath()||e.isWaitingForValidation())}},dependencies:[se,ie,ne,oe,le,Z,x,Q,ee,J],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem}article[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{font:var(--title-20)}h2[_ngcontent-%COMP%]{font:var(--title-30)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as k,r as L}from"./chunk-USU2EHJV.js";import{h as U}from"./chunk-J3BBLPAD.js";import{H as C,Oc as R,V as E,_ as A,oa as z,r as S}from"./chunk-QDFCX6XE.js";import{a as s,b as D}from"./chunk-EUDKD2JW.js";var h=class{constructor(t){this.loader=t}_data=z(void 0);_isLoading=!1;_loaded=!1;load(){return!this._loaded&&!this._isLoading&&(this._isLoading=!0,this.loader().pipe(C(()=>this._isLoading=!1)).subscribe(t=>{this._data.set(t),this._loaded=!0})),this._data.asReadonly()}value(){return this._data.asReadonly()}isLoading(){return this._isLoading}isLoaded(){return this._loaded}reset(){this._data.set(void 0),this._loaded=!1}};var g=class e{#e=A(U);#o=new h(()=>this.getS3Config("Providers"));#n=new h(()=>this.getS3Config("Regions"));#r=new h(()=>this.getS3Config("RegionHosts"));#i=new h(()=>this.getS3Config("StorageClasses"));#s=R(()=>{let t=this.#o.value()(),o=this.#r.value()(),r=[...t??[],...o?.map(n=>({key:`Amazon ${n.key}`,value:n.value}))??[]];return Array.from(new Map(r.map(n=>[n.value,n])).values())});#a=new h(()=>this.getStorjConfig("Satellites"));#l=new h(()=>this.getStorjConfig("AuthenticationMethods"));#c=new h(()=>this.getOpenstackConfig("Providers"));#p=new h(()=>this.getOpenstackConfig("Versions"));#u=new h(()=>this.getGcsConfig("Locations"));#m=new h(()=>this.getGcsConfig("StorageClasses"));getS3AllProviders(){return this.#o.load(),this.#r.load(),this.#s}getS3Providers(){return this.#o.load()}getS3Regions(){return this.#n.load()}getS3RegionHosts(){return this.#r.load()}getS3StorageClasses(){return this.#i.load()}getStorjSatellites(){return this.#a.load()}getStorjAuthenticationMethods(){return this.#l.load()}getOpenstackProviders(){return this.#c.load()}getOpenstackVersions(){return this.#p.load()}getGcsLocations(){return this.#u.load()}getGcsStorageClasses(){return this.#m.load()}getS3Config(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":t}}).pipe(S(o=>this.#t(o)))}createS3IamUser(t,o){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":t,"s3-password":o}})}createS3PolicyIAM(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:t}})}getStorjConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":t}}).pipe(S(o=>this.#t(o)))}getOpenstackConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":t}}).pipe(S(o=>this.#t(o)))}getGcsConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":t}}).pipe(S(o=>this.#t(o)))}#t(t){return(t.Result&&typeof t.Result=="object"&&Object.entries(t.Result).map(([o,r])=>({key:o,value:r})))??[]}static \u0275fac=function(o){return new(o||e)};static \u0275prov=E({token:e,factory:e.\u0275fac,providedIn:"root"})};var i=new L,p={type:"error",message:$localize`Using a leading slash is most likely wrong, and will result in objects being created with a leading slash in the name.`},w={description:$localize`Unknown destination type`,icon:"/assets/dest-icons/file-system.png",isDefaultEntry:!0,customFields:{path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path`,formElement:e=>i.control(e??"")}},mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>{let n=o.startsWith(`${e}:///`)?o.split(`${e}:///`)[1]:o.split(`${e}://`)[1];return s({destinationType:e,custom:{path:n.split("?")[0]}},a(e,t))}}},V=[{key:"file",displayName:$localize`File system`,description:$localize`Store backups on your local file system.`,icon:"/assets/dest-icons/file-system.png",customFields:{path:{type:"FolderTree",name:"path",doubleSlash:p,shortDescription:$localize`File path`,longDescription:$localize`The path to store the backup`,formElement:e=>i.control(e??""),isMandatory:!0}},mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>{let r=o.startsWith("file:///"),n=decodeURIComponent(r?o.split("file:///")[1]:o.split("file://")[1]),u=n.slice(1).startsWith(":\\")?n:"/"+n;return s({destinationType:e,custom:{path:u.split("?")[0]}},a(e,t))}}},{key:"ssh",displayName:$localize`SSH`,description:$localize`Store backups with SSH.`,icon:"/assets/dest-icons/ssh.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`The server to connect to`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`The port to connect to`,formElement:e=>i.control(e??"",[k.required,k.max(65535)])},path:{type:"Path",name:"path",shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:!0}],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:$localize`This is a path to a private key file locally on the machine`,longDescription:$localize`This is a path to a private key file locally on the machine`},{type:"FreeText",name:"ssh-key",shortDescription:$localize`SSH private key`,longDescription:$localize`An SSH private key. Supported formats are OpenSSL, OpenSSH, PuTTY, and PEM.`}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"s3",displayName:$localize`S3 Compatible`,description:$localize`Store backups in any S3 compatible bucket.`,icon:"/assets/dest-icons/aws.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the S3 compatible server to connect to`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3AllProviders(),isMandatory:!0,formElement:e=>i.control(e??"")},{name:"use-ssl",order:2},{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>z([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}])},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{path:n,bucket:r}},a(e,t))}}},{key:"gcs",displayName:$localize`Google Cloud Storage`,description:$localize`Store backups in Google Cloud Storage.`,icon:"/assets/dest-icons/google-cloud.png",oauthField:"authid",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],advancedFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getGcsLocations()},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getGcsStorageClasses()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{path:n,bucket:r}},a(e,t))}}},{key:"googledrive",displayName:$localize`Google Drive`,description:$localize`Store backups in Google Drive.`,icon:"/assets/dest-icons/google-drive.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"pcloud",displayName:$localize`pCloud`,description:$localize`Store backups in pCloud.`,icon:"/assets/dest-icons/pcloud.png",oauthField:"authid",customFields:{server:{type:"Enumeration",name:"server",loadOptions:()=>z([{key:"pCloud Global",value:"api.pcloud.com"},{key:"pCloud Europe",value:"eapi.pcloud.com"}]),shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",oauthVersion:2,isMandatory:!0}],mapper:{to:e=>{let{server:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{server:r,path:n}},a(e,t))}}},{key:"azure",displayName:$localize`Azure Blob Storage`,description:$localize`Store backups in Azure Blob Storage.`,icon:"/assets/dest-icons/azure.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Container name`,longDescription:$localize`Container name`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"onedrivev2",displayName:$localize`OneDrive`,description:$localize`Store backups in OneDrive.`,icon:"/assets/dest-icons/one-drive.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"od4b",displayName:$localize`OneDrive Business`,description:$localize`Store backups in OneDrive Business.`,icon:"/assets/dest-icons/one-drive.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"mssp",displayName:$localize`Microsoft SharePoint`,description:$localize`Store backups in Microsoft SharePoint.`,icon:"/assets/dest-icons/sharepoint.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"sharepoint",displayName:$localize`Microsoft SharePoint v2`,description:$localize`Store backups in Microsoft SharePoint.`,icon:"/assets/dest-icons/sharepoint.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"site-id",isMandatory:!0},{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"dropbox",displayName:$localize`Dropbox`,description:$localize`Store backups in Dropbox.`,icon:"/assets/dest-icons/dropbox.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"box",displayName:$localize`Box.com`,description:$localize`Store backups in Box.com.`,icon:"/assets/dest-icons/box-com.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"jottacloud",displayName:$localize`Jottacloud`,description:$localize`Store backups in Jottacloud.`,icon:"/assets/dest-icons/jottacloud.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"b2",displayName:$localize`B2 Cloud Storage`,description:$localize`Store backups in B2 Cloud Storage.`,icon:"/assets/dest-icons/backblaze.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Application ID`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Application Key`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{path:n,bucket:r}},a(e,t))}}},{key:"e2",displayName:$localize`IDrive e2`,description:$localize`Store backups in IDrive e2.`,icon:"/assets/dest-icons/idrive-e2.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Access ID`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access Secret`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{bucket:r,path:n}},a(e,t))}}},{key:"mega",displayName:$localize`Mega.nz`,description:$localize`Store backups in Mega.nz.`,icon:"/assets/dest-icons/mega-nz.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let t=e.custom.path;return c(e,null,null,t)},from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"msgroup",displayName:$localize`Microsoft Office 365 Group`,description:$localize`Store backups in Microsoft Office 365 Group.`,icon:"/assets/dest-icons/office-365.png",oauthField:"authid",customFields:{groupEmail:{type:"Email",name:"groupEmail",shortDescription:$localize`Group email`,longDescription:$localize`Group email`,formElement:e=>i.control(e??"",[k.email]),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"cloudfiles",displayName:$localize`Rackspace CloudFiles`,description:$localize`Store backups in Rackspace CloudFiles.`,icon:"/assets/dest-icons/rackspace.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"rclone",displayName:$localize`Rclone`,description:$localize`Store backups in Rclone.`,icon:"/assets/dest-icons/rclone.png",dynamicFields:[{name:"rclone-local-repository",shortDescription:$localize`Local repository`,defaultValue:""},{name:"rclone-remote-repository",shortDescription:$localize`Remote repository`,defaultValue:""},{name:"rclone-remote-path",type:"Path",shortDescription:$localize`Path on remote repository`,defaultValue:""}],mapper:{to:e=>{let t=e.dynamic["rclone-remote-repository"],o=e.dynamic["rclone-remote-path"],r=Object.entries(e.dynamic).filter(([n])=>!["rclone-remote-repository","rclone-remote-path"].includes(n));return v(e.destinationType??"rclone",t,null,o,[...Object.entries(e.advanced),...r])},from:(e,t,o)=>{let{advanced:r,dynamic:n}=a(e,t),{server:l,path:u}=m(t);return s({destinationType:e,dynamic:s({"rclone-remote-repository":l,"rclone-remote-path":u},n)},r)}}},{key:"openstack",displayName:$localize`OpenStack Object Storage`,description:$localize`Store backups in OpenStack Object Storage.`,icon:"/assets/dest-icons/open-stack.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket`,longDescription:$localize`Bucket`,formElement:e=>i.control(e??""),isMandatory:!0}},dynamicFields:[{name:"openstack-authuri",shortDescription:$localize`Auth URI`,type:"Enumeration",loadOptions:e=>e.get(g).getOpenstackProviders(),isMandatory:!0},{name:"openstack-version",shortDescription:$localize`Version`,type:"Enumeration",loadOptions:e=>e.get(g).getOpenstackVersions()},{name:"openstack-domain-name",type:"Hostname",shortDescription:$localize`Domain name`},{name:"openstack-tenant-name",shortDescription:$localize`Tenant name`},{name:"openstack-region",shortDescription:$localize`Region`}],mapper:{to:e=>{let{bucket:t}=e.custom;return c(e,t,null,null)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{path:n,bucket:r}},a(e,t))}}},{key:"webdav",displayName:$localize`WebDAV`,description:$localize`Store backups in WebDAV.`,icon:"/assets/dest-icons/webdav.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`},{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"aftp",displayName:$localize`Alternative FTP`,description:$localize`Store backups in FTP.`,icon:"/assets/dest-icons/ftp.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"ftp",displayName:$localize`FTP`,description:$localize`Store backups in FTP.`,icon:"/assets/dest-icons/ftp.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"sia",displayName:$localize`Sia Decentrilized Cloud`,description:$localize`Store backups in Sia Decentrilized Cloud.`,icon:"/assets/dest-icons/sia-cloud.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0}},dynamicFields:["sia-targetpath","sia-password","sia-redundancy"],mapper:{to:e=>{let t=e.custom.server,o=e.dynamic["sia-targetpath"],r=[...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([n])=>n!=="sia-targetpath")];return v(e.destinationType??"sia",t,null,o,r)},from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"cos",displayName:$localize`Tencent COS`,description:$localize`Store backups in Tencent COS.`,icon:"/assets/dest-icons/tencent-cloud.png",customFields:{bucket:{name:"bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"cos-region",shortDescription:$localize`Region`},{name:"cos-app-id",shortDescription:$localize`COS App Id`,isMandatory:!0},{name:"cos-secret-id",shortDescription:$localize`COS Secret Id`,isMandatory:!0},{name:"cos-secret-key",shortDescription:$localize`COS Secret Key`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom,r=D(s({},e),{advanced:D(s({},e.advanced),{"cos-bucket":t})});return c(r,null,null,o)},from:(e,t,o)=>{let r=a(e,t),n=r.advanced["cos-bucket"];return delete r.advanced["cos-bucket"],s({destinationType:e,custom:{path:d(t),bucket:n}},r)}}},{key:"tahoe",displayName:$localize`Tahoe LAFS`,description:$localize`Store backups in Tahoe LAFS.`,icon:"/assets/dest-icons/tahoelafs.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"smb",displayName:$localize`Windows Share (SMB)`,description:$localize`Store backups on SMB storage.`,icon:"/assets/dest-icons/smb.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},share:{type:"Hostname",name:"share",shortDescription:$localize`Share Name`,longDescription:$localize`Share Name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:["transport",{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0},"auth-domain"],mapper:{to:e=>{let{share:t,server:o,path:r}=e.custom;return c(e,o,null,M(t,r))},from:(e,t,o)=>{let{server:r,path:n}=m(t),l=n.split("/")[0],u=n.split("/").slice(1).join("/");return s({destinationType:e,custom:{server:r,share:l,path:u}},a(e,t))}}},{key:"filen",displayName:$localize`Filen.io`,description:$localize`Store backups in Filen.io.`,icon:"/assets/dest-icons/filen.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on Filen`,longDescription:$localize`Path on Filen`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"filejump",displayName:$localize`Filejump`,description:$localize`Store backups in Filejump.`,icon:"/assets/dest-icons/file-jump.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on Filejump`,longDescription:$localize`Path on Filejump`,formElement:e=>i.control(e??"")}},dynamicFields:[{type:"Password",name:"api-token",shortDescription:$localize`API Token`,longDescription:$localize`Filejump API Token`,formElement:e=>i.control(e??""),isMandatory:!0}],mapper:{to:e=>{let{path:t}=e.custom;return console.log(t),c(e,null,null,t)},from:(e,t,o)=>(console.log(t),s({destinationType:e,custom:{path:d(t)}},a(e,t)))}},{key:"storj",customKey:"storjAccessGrant",displayName:$localize`Storj Access Grant`,description:$localize`Store backups in Storj Access Grant.`,icon:"/assets/dest-icons/storj.png",dynamicFields:[{name:"storj-shared-access",shortDescription:$localize`Access Grant`,isMandatory:!0},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:p},{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"Enumeration",loadOptions:e=>e.get(g).getStorjSatellites(),isMandatory:!0}],mapper:{to:e=>{let t={"storj-auth-method":"Acccess grant"};return`storj://storj.io/config${b([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=a(e,t);return delete r.advanced["storj-auth-method"],s({destinationType:e},r)}}},{key:"storj",customKey:"storjApiKey",displayName:$localize`Storj API Key`,description:$localize`Store backups in Storj API Key.`,icon:"/assets/dest-icons/storj.png",dynamicFields:[{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"Enumeration",loadOptions:e=>e.get(g).getStorjSatellites(),isMandatory:!0},{name:"storj-api-key",shortDescription:$localize`API Key`,isMandatory:!0},{name:"storj-secret",shortDescription:$localize`Secret`,isMandatory:!0},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:p}],mapper:{to:e=>{let t={"storj-auth-method":"API key"};return`storj://storj.io/config${b([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=a(e,t);return delete r.advanced["storj-auth-method"],s({destinationType:e},r)}}},{key:"aliyunoss",displayName:$localize`Aliyun OSS`,description:$localize`Store backups in Aliyun OSS`,icon:"/assets/dest-icons/aliyun.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in bucket`,longDescription:$localize`Path in bucket`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"oss-endpoint",isMandatory:!0},{name:"oss-access-key-id",isMandatory:!0},{name:"oss-access-key-secret",isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom,r=D(s({},e),{advanced:D(s({},e.advanced),{"oss-bucket-name":t})});return c(r,null,null,o)},from:(e,t,o)=>{let r=a(e,t),n=r.advanced["oss-bucket-name"];return delete r.advanced["oss-bucket-name"],s({destinationType:e,custom:{path:d(t),bucket:n}},r)}}}],le={".amazonaws.com":"Amazon S3",".mycloudyplace.com":"MyCloudyPlace S3",".impossibleapi.net":"Impossible Cloud S3",".scw.cloud":"Scaleway S3",".hosteurope.de":"Hosteurope S3",".dunkel.de":"Dunkel S3",".dreamhost.com":"DreamHost S3",".dincloud.com":"dinCloud S3",".polisystems.ch":"Poli Systems S3",".softlayer.net":"IBM COS (S3)",".storadera.com":"Storadera S3",".wasabisys.com":"Wasabi S3",".infomaniak.com":"Infomaniak S3",".infomaniak.cloud":"Infomaniak S3",".sakurastorage.jp":"\u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9 S3",".lyvecloud.seagate.com":"Seagate Lyve S3",".digitaloceanspaces.com":"DigitalOcean S3",".backblazeb2.com":"Backblaze B2 S3",".cloudian.com":"Cloudian S3",".min.io":"MinIO S3",".linodeobjects.com":"Linode S3",".bunnycdn.com":"BunnyCDN S3",".azure.com":"Microsoft Azure S3",".googleapis.com":"Google Cloud Storage S3",".ibm.com":"IBM Cloud S3",".oracle.com":"Oracle Cloud S3",".cloudflare.com":"Cloudflare S3",".alibaba.com":"Alibaba Cloud S3",".huawei.com":"Huawei Cloud S3",".tencent.com":"Tencent Cloud S3",".baidu.com":"Baidu Cloud S3",".jd.com":"JD Cloud S3",".ucloud.cn":"UCloud S3",".qiniu.com":"Qiniu Cloud S3",".aliyuncs.com":"Aliyun S3",".tcloud.com":"TCloud S3",".tencentcloudapi.com":"Tencent Cloud S3"};function c(e,t,o,r){return v(e.destinationType??"file",t,o,r,[...Object.entries(e.advanced),...Object.entries(e.dynamic)])}function v(e,t,o,r,n){let l=b(n),u=encodeURIComponent(B(t)),y=u==""?"":u+j(o),f=r??"",$=f.slice(1).startsWith(":\\")&&e=="file"?"file:///":`${e}://`,O=M(y,I(f));return`${$}${O}${l}`}function N(e){return e==null||e===""?"":e.startsWith("/")?e.substring(1):e}function M(...e){if(e.length===0)return"";if(e.length===1)return e[0]??"";let t="";for(let o of e)o==null||o===""||(t+=t.endsWith("/")||t==""?o:"/"+o);return t}function I(e){return e.split("/").map(encodeURIComponent).join("/")}function d(e){if(e==null||e==="")return"";if(typeof e=="string")try{e=new URL(e)}catch{return""}return decodeURIComponent(e.hostname??"")+decodeURIComponent(e.pathname=="/"?"":e.pathname??"")}function B(e){return e==null||e===""?"":e.endsWith("/")?e.substring(0,e.length-1):e}function j(e){return e==null||e===""?"":":"+e.toString()}function P(e){return V.find(o=>o.key===e||o.customKey===e)??V.find(o=>`${o.key}s`===e)??null??s({key:e,displayName:e},w)}function m(e){return{server:decodeURIComponent(e.hostname),port:e.port,path:N(decodeURIComponent(e.pathname))}}function a(e,t){let o={},r={},n=P(e);return t.searchParams.forEach((l,u)=>{n?.dynamicFields?.some(f=>f===u||f?.name===u)?r[u]=decodeURIComponent(l):o[u]=decodeURIComponent(l)}),{advanced:o,dynamic:r}}function b(e,t=!1){let o=e.map(([n,l])=>`${n}=${l?encodeURIComponent(l.toString()):""}`).join("&");return o?(t?"":"?")+o:""}function me(e){let t=e.destinationType??"";return P(t)?.mapper.to(e)??""}function de(e){let t=URL.canParse(e),o=e.split("://")[0],r=e.split("://")[1],n=o==="file"?"http://dummy":"http://"+r;if(!r)return null;if(r.startsWith("%")&&o==="file")return P(o).mapper.from(o,new URL("http://localhost"),e);let l=P(o),u="";`${l.key}s`===o&&(u+=n.indexOf("?")===-1?"?":"&",u+="use-ssl=true",e=l.key+e.substring(o.length));try{let y=new URL(n+u);if(y.host==="undefined")return null;let f=r.split("?")[0].split("/")[0],G=!isNaN(Number(y.host.replaceAll(".",""))),$=f.split("."),O=$.length===4&&$.every(F=>F.length&&F.length<=3&&!isNaN(Number(F))&&parseInt(F)<=255);return G&&!O?null:l.mapper.from(l.key,y,e)}catch(y){return console.error("Error while parsing target path",y),null}}export{P as a,me as b,de as c,le as d};
|
|
1
|
+
import{d as k,r as L}from"./chunk-N5SC4SKW.js";import{h as U}from"./chunk-NOPMCS2Z.js";import{H as C,Oc as R,V as E,_ as A,oa as z,r as S}from"./chunk-HNWRQABR.js";import{a as s,b as D}from"./chunk-EUDKD2JW.js";var h=class{constructor(t){this.loader=t}_data=z(void 0);_isLoading=!1;_loaded=!1;load(){return!this._loaded&&!this._isLoading&&(this._isLoading=!0,this.loader().pipe(C(()=>this._isLoading=!1)).subscribe(t=>{this._data.set(t),this._loaded=!0})),this._data.asReadonly()}value(){return this._data.asReadonly()}isLoading(){return this._isLoading}isLoaded(){return this._loaded}reset(){this._data.set(void 0),this._loaded=!1}};var g=class e{#e=A(U);#o=new h(()=>this.getS3Config("Providers"));#n=new h(()=>this.getS3Config("Regions"));#r=new h(()=>this.getS3Config("RegionHosts"));#i=new h(()=>this.getS3Config("StorageClasses"));#s=R(()=>{let t=this.#o.value()(),o=this.#r.value()(),r=[...t??[],...o?.map(n=>({key:`Amazon ${n.key}`,value:n.value}))??[]];return Array.from(new Map(r.map(n=>[n.value,n])).values())});#a=new h(()=>this.getStorjConfig("Satellites"));#l=new h(()=>this.getStorjConfig("AuthenticationMethods"));#c=new h(()=>this.getOpenstackConfig("Providers"));#p=new h(()=>this.getOpenstackConfig("Versions"));#u=new h(()=>this.getGcsConfig("Locations"));#m=new h(()=>this.getGcsConfig("StorageClasses"));getS3AllProviders(){return this.#o.load(),this.#r.load(),this.#s}getS3Providers(){return this.#o.load()}getS3Regions(){return this.#n.load()}getS3RegionHosts(){return this.#r.load()}getS3StorageClasses(){return this.#i.load()}getStorjSatellites(){return this.#a.load()}getStorjAuthenticationMethods(){return this.#l.load()}getOpenstackProviders(){return this.#c.load()}getOpenstackVersions(){return this.#p.load()}getGcsLocations(){return this.#u.load()}getGcsStorageClasses(){return this.#m.load()}getS3Config(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":t}}).pipe(S(o=>this.#t(o)))}createS3IamUser(t,o){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":t,"s3-password":o}})}createS3PolicyIAM(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:t}})}getStorjConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":t}}).pipe(S(o=>this.#t(o)))}getOpenstackConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":t}}).pipe(S(o=>this.#t(o)))}getGcsConfig(t){return this.#e.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":t}}).pipe(S(o=>this.#t(o)))}#t(t){return(t.Result&&typeof t.Result=="object"&&Object.entries(t.Result).map(([o,r])=>({key:o,value:r})))??[]}static \u0275fac=function(o){return new(o||e)};static \u0275prov=E({token:e,factory:e.\u0275fac,providedIn:"root"})};var i=new L,p={type:"error",message:$localize`Using a leading slash is most likely wrong, and will result in objects being created with a leading slash in the name.`},w={description:$localize`Unknown destination type`,icon:"/assets/dest-icons/file-system.png",isDefaultEntry:!0,customFields:{path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path`,formElement:e=>i.control(e??"")}},mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>{let n=o.startsWith(`${e}:///`)?o.split(`${e}:///`)[1]:o.split(`${e}://`)[1];return s({destinationType:e,custom:{path:n.split("?")[0]}},a(e,t))}}},V=[{key:"file",displayName:$localize`File system`,description:$localize`Store backups on your local file system.`,icon:"/assets/dest-icons/file-system.png",customFields:{path:{type:"FolderTree",name:"path",doubleSlash:p,shortDescription:$localize`File path`,longDescription:$localize`The path to store the backup`,formElement:e=>i.control(e??""),isMandatory:!0}},mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>{let r=o.startsWith("file:///"),n=decodeURIComponent(r?o.split("file:///")[1]:o.split("file://")[1]),u=n.slice(1).startsWith(":\\")?n:"/"+n;return s({destinationType:e,custom:{path:u.split("?")[0]}},a(e,t))}}},{key:"ssh",displayName:$localize`SSH`,description:$localize`Store backups with SSH.`,icon:"/assets/dest-icons/ssh.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`The server to connect to`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`The port to connect to`,formElement:e=>i.control(e??"",[k.required,k.max(65535)])},path:{type:"Path",name:"path",shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:!0}],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:$localize`This is a path to a private key file locally on the machine`,longDescription:$localize`This is a path to a private key file locally on the machine`},{type:"FreeText",name:"ssh-key",shortDescription:$localize`SSH private key`,longDescription:$localize`An SSH private key. Supported formats are OpenSSL, OpenSSH, PuTTY, and PEM.`}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"s3",displayName:$localize`S3 Compatible`,description:$localize`Store backups in any S3 compatible bucket.`,icon:"/assets/dest-icons/aws.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"s3-server-name",order:1,shortDescription:$localize`Server`,longDescription:$localize`The hostname of the S3 compatible server to connect to`,type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3AllProviders(),isMandatory:!0,formElement:e=>i.control(e??"")},{name:"use-ssl",order:2},{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0}],advancedFields:[{name:"s3-client",type:"Enumeration",loadOptions:()=>z([{key:"AWS Library",value:"aws"},{key:"MinIO Library",value:"minio"}])},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3StorageClasses()},{name:"s3-location-constraint",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getS3Regions()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{path:n,bucket:r}},a(e,t))}}},{key:"gcs",displayName:$localize`Google Cloud Storage`,description:$localize`Store backups in Google Cloud Storage.`,icon:"/assets/dest-icons/google-cloud.png",oauthField:"authid",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],advancedFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getGcsLocations()},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:e=>e.get(g).getGcsStorageClasses()}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{path:n,bucket:r}},a(e,t))}}},{key:"googledrive",displayName:$localize`Google Drive`,description:$localize`Store backups in Google Drive.`,icon:"/assets/dest-icons/google-drive.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"pcloud",displayName:$localize`pCloud`,description:$localize`Store backups in pCloud.`,icon:"/assets/dest-icons/pcloud.png",oauthField:"authid",customFields:{server:{type:"Enumeration",name:"server",loadOptions:()=>z([{key:"pCloud Global",value:"api.pcloud.com"},{key:"pCloud Europe",value:"eapi.pcloud.com"}]),shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Folder path`,longDescription:$localize`Folder path`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",type:"Password",oauthVersion:2,isMandatory:!0}],mapper:{to:e=>{let{server:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{server:r,path:n}},a(e,t))}}},{key:"azure",displayName:$localize`Azure Blob Storage`,description:$localize`Store backups in Azure Blob Storage.`,icon:"/assets/dest-icons/azure.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Container name`,longDescription:$localize`Container name`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"onedrivev2",displayName:$localize`OneDrive`,description:$localize`Store backups in OneDrive.`,icon:"/assets/dest-icons/one-drive.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"od4b",displayName:$localize`OneDrive Business`,description:$localize`Store backups in OneDrive Business.`,icon:"/assets/dest-icons/one-drive.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"mssp",displayName:$localize`Microsoft SharePoint`,description:$localize`Store backups in Microsoft SharePoint.`,icon:"/assets/dest-icons/sharepoint.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Account name`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access key`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"sharepoint",displayName:$localize`Microsoft SharePoint v2`,description:$localize`Store backups in Microsoft SharePoint.`,icon:"/assets/dest-icons/sharepoint.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"site-id",isMandatory:!0},{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"dropbox",displayName:$localize`Dropbox`,description:$localize`Store backups in Dropbox.`,icon:"/assets/dest-icons/dropbox.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"box",displayName:$localize`Box.com`,description:$localize`Store backups in Box.com.`,icon:"/assets/dest-icons/box-com.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"jottacloud",displayName:$localize`Jottacloud`,description:$localize`Store backups in Jottacloud.`,icon:"/assets/dest-icons/jottacloud.png",oauthField:"authid",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"b2",displayName:$localize`B2 Cloud Storage`,description:$localize`Store backups in B2 Cloud Storage.`,icon:"/assets/dest-icons/backblaze.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Application ID`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Application Key`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{path:n,bucket:r}},a(e,t))}}},{key:"e2",displayName:$localize`IDrive e2`,description:$localize`Store backups in IDrive e2.`,icon:"/assets/dest-icons/idrive-e2.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,longDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"String",name:"path",doubleSlash:p,shortDescription:$localize`Path in the bucket`,longDescription:$localize`Path in the bucket`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Access ID`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Access Secret`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom;return c(e,t,null,o)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{bucket:r,path:n}},a(e,t))}}},{key:"mega",displayName:$localize`Mega.nz`,description:$localize`Store backups in Mega.nz.`,icon:"/assets/dest-icons/mega-nz.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let t=e.custom.path;return c(e,null,null,t)},from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"msgroup",displayName:$localize`Microsoft Office 365 Group`,description:$localize`Store backups in Microsoft Office 365 Group.`,icon:"/assets/dest-icons/office-365.png",oauthField:"authid",customFields:{groupEmail:{type:"Email",name:"groupEmail",shortDescription:$localize`Group email`,longDescription:$localize`Group email`,formElement:e=>i.control(e??"",[k.email]),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"authid",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"cloudfiles",displayName:$localize`Rackspace CloudFiles`,description:$localize`Store backups in Rackspace CloudFiles.`,icon:"/assets/dest-icons/rackspace.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"rclone",displayName:$localize`Rclone`,description:$localize`Store backups in Rclone.`,icon:"/assets/dest-icons/rclone.png",dynamicFields:[{name:"rclone-local-repository",shortDescription:$localize`Local repository`,defaultValue:""},{name:"rclone-remote-repository",shortDescription:$localize`Remote repository`,defaultValue:""},{name:"rclone-remote-path",type:"Path",shortDescription:$localize`Path on remote repository`,defaultValue:""}],mapper:{to:e=>{let t=e.dynamic["rclone-remote-repository"],o=e.dynamic["rclone-remote-path"],r=Object.entries(e.dynamic).filter(([n])=>!["rclone-remote-repository","rclone-remote-path"].includes(n));return v(e.destinationType??"rclone",t,null,o,[...Object.entries(e.advanced),...r])},from:(e,t,o)=>{let{advanced:r,dynamic:n}=a(e,t),{server:l,path:u}=m(t);return s({destinationType:e,dynamic:s({"rclone-remote-repository":l,"rclone-remote-path":u},n)},r)}}},{key:"openstack",displayName:$localize`OpenStack Object Storage`,description:$localize`Store backups in OpenStack Object Storage.`,icon:"/assets/dest-icons/open-stack.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket`,longDescription:$localize`Bucket`,formElement:e=>i.control(e??""),isMandatory:!0}},dynamicFields:[{name:"openstack-authuri",shortDescription:$localize`Auth URI`,type:"Enumeration",loadOptions:e=>e.get(g).getOpenstackProviders(),isMandatory:!0},{name:"openstack-version",shortDescription:$localize`Version`,type:"Enumeration",loadOptions:e=>e.get(g).getOpenstackVersions()},{name:"openstack-domain-name",type:"Hostname",shortDescription:$localize`Domain name`},{name:"openstack-tenant-name",shortDescription:$localize`Tenant name`},{name:"openstack-region",shortDescription:$localize`Region`}],mapper:{to:e=>{let{bucket:t}=e.custom;return c(e,t,null,null)},from:(e,t,o)=>{let{server:r,path:n}=m(t);return s({destinationType:e,custom:{path:n,bucket:r}},a(e,t))}}},{key:"webdav",displayName:$localize`WebDAV`,description:$localize`Store backups in WebDAV.`,icon:"/assets/dest-icons/webdav.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`},{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"aftp",displayName:$localize`Alternative FTP`,description:$localize`Store backups in FTP.`,icon:"/assets/dest-icons/ftp.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"ftp",displayName:$localize`FTP`,description:$localize`Store backups in FTP.`,icon:"/assets/dest-icons/ftp.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,doubleSlash:{type:"warning",message:$localize`Using a leading slash makes the path absolute, pointing to the root of the filesystem.`},formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",shortDescription:$localize`Username`,isMandatory:!0},{name:"auth-password",shortDescription:$localize`Password`,isMandatory:!0}],mapper:{to:e=>{let{port:t,server:o,path:r}=e.custom;return c(e,o,t,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"sia",displayName:$localize`Sia Decentrilized Cloud`,description:$localize`Store backups in Sia Decentrilized Cloud.`,icon:"/assets/dest-icons/sia-cloud.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0}},dynamicFields:["sia-targetpath","sia-password","sia-redundancy"],mapper:{to:e=>{let t=e.custom.server,o=e.dynamic["sia-targetpath"],r=[...Object.entries(e.advanced),...Object.entries(e.dynamic).filter(([n])=>n!=="sia-targetpath")];return v(e.destinationType??"sia",t,null,o,r)},from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"cos",displayName:$localize`Tencent COS`,description:$localize`Store backups in Tencent COS.`,icon:"/assets/dest-icons/tencent-cloud.png",customFields:{bucket:{name:"bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"cos-region",shortDescription:$localize`Region`},{name:"cos-app-id",shortDescription:$localize`COS App Id`,isMandatory:!0},{name:"cos-secret-id",shortDescription:$localize`COS Secret Id`,isMandatory:!0},{name:"cos-secret-key",shortDescription:$localize`COS Secret Key`,isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom,r=D(s({},e),{advanced:D(s({},e.advanced),{"cos-bucket":t})});return c(r,null,null,o)},from:(e,t,o)=>{let r=a(e,t),n=r.advanced["cos-bucket"];return delete r.advanced["cos-bucket"],s({destinationType:e,custom:{path:d(t),bucket:n}},r)}}},{key:"tahoe",displayName:$localize`Tahoe LAFS`,description:$localize`Store backups in Tahoe LAFS.`,icon:"/assets/dest-icons/tahoelafs.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},port:{type:"Integer",name:"port",shortDescription:$localize`Port`,longDescription:$localize`Port`,formElement:e=>i.control(e??"")},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"use-ssl",shortDescription:$localize`Use SSL`}],mapper:{to:e=>{let{server:t,port:o,path:r}=e.custom;return c(e,t,o,r)},from:(e,t,o)=>{let{server:r,port:n,path:l}=m(t);return s({destinationType:e,custom:{server:r,port:n,path:l}},a(e,t))}}},{key:"smb",displayName:$localize`Windows Share (SMB)`,description:$localize`Store backups on SMB storage.`,icon:"/assets/dest-icons/smb.png",customFields:{server:{type:"Hostname",name:"server",shortDescription:$localize`Server`,longDescription:$localize`Server`,formElement:e=>i.control(e??""),isMandatory:!0},share:{type:"Hostname",name:"share",shortDescription:$localize`Share Name`,longDescription:$localize`Share Name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on server`,longDescription:$localize`Path on server`,formElement:e=>i.control(e??"")}},dynamicFields:["transport",{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0},"auth-domain"],mapper:{to:e=>{let{share:t,server:o,path:r}=e.custom;return c(e,o,null,M(t,r))},from:(e,t,o)=>{let{server:r,path:n}=m(t),l=n.split("/")[0],u=n.split("/").slice(1).join("/");return s({destinationType:e,custom:{server:r,share:l,path:u}},a(e,t))}}},{key:"filen",displayName:$localize`Filen.io`,description:$localize`Store backups in Filen.io.`,icon:"/assets/dest-icons/filen.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on Filen`,longDescription:$localize`Path on Filen`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"auth-username",isMandatory:!0},{name:"auth-password",isMandatory:!0}],mapper:{to:e=>c(e,null,null,e.custom.path),from:(e,t,o)=>s({destinationType:e,custom:{path:d(t)}},a(e,t))}},{key:"filejump",displayName:$localize`Filejump`,description:$localize`Store backups in Filejump.`,icon:"/assets/dest-icons/file-jump.png",customFields:{path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path on Filejump`,longDescription:$localize`Path on Filejump`,formElement:e=>i.control(e??"")}},dynamicFields:[{type:"Password",name:"api-token",shortDescription:$localize`API Token`,longDescription:$localize`Filejump API Token`,formElement:e=>i.control(e??""),isMandatory:!0}],mapper:{to:e=>{let{path:t}=e.custom;return console.log(t),c(e,null,null,t)},from:(e,t,o)=>(console.log(t),s({destinationType:e,custom:{path:d(t)}},a(e,t)))}},{key:"storj",customKey:"storjAccessGrant",displayName:$localize`Storj Access Grant`,description:$localize`Store backups in Storj Access Grant.`,icon:"/assets/dest-icons/storj.png",dynamicFields:[{name:"storj-shared-access",shortDescription:$localize`Access Grant`,isMandatory:!0},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:p},{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"Enumeration",loadOptions:e=>e.get(g).getStorjSatellites(),isMandatory:!0}],mapper:{to:e=>{let t={"storj-auth-method":"Acccess grant"};return`storj://storj.io/config${b([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=a(e,t);return delete r.advanced["storj-auth-method"],s({destinationType:e},r)}}},{key:"storj",customKey:"storjApiKey",displayName:$localize`Storj API Key`,description:$localize`Store backups in Storj API Key.`,icon:"/assets/dest-icons/storj.png",dynamicFields:[{name:"storj-satellite",shortDescription:$localize`Satellite`,type:"Enumeration",loadOptions:e=>e.get(g).getStorjSatellites(),isMandatory:!0},{name:"storj-api-key",shortDescription:$localize`API Key`,isMandatory:!0},{name:"storj-secret",shortDescription:$localize`Secret`,isMandatory:!0},{name:"storj-bucket",type:"Bucketname",shortDescription:$localize`Bucket`,isMandatory:!0},{name:"storj-folder",type:"Path",shortDescription:$localize`Path on server`,doubleSlash:p}],mapper:{to:e=>{let t={"storj-auth-method":"API key"};return`storj://storj.io/config${b([...Object.entries(e.advanced),...Object.entries(e.dynamic),...Object.entries(t)])}`},from:(e,t,o)=>{let r=a(e,t);return delete r.advanced["storj-auth-method"],s({destinationType:e},r)}}},{key:"aliyunoss",displayName:$localize`Aliyun OSS`,description:$localize`Store backups in Aliyun OSS`,icon:"/assets/dest-icons/aliyun.png",customFields:{bucket:{type:"Bucketname",name:"bucket",shortDescription:$localize`Bucket name`,formElement:e=>i.control(e??""),isMandatory:!0},path:{type:"Path",name:"path",doubleSlash:p,shortDescription:$localize`Path in bucket`,longDescription:$localize`Path in bucket`,formElement:e=>i.control(e??"")}},dynamicFields:[{name:"oss-endpoint",isMandatory:!0},{name:"oss-access-key-id",isMandatory:!0},{name:"oss-access-key-secret",isMandatory:!0}],mapper:{to:e=>{let{bucket:t,path:o}=e.custom,r=D(s({},e),{advanced:D(s({},e.advanced),{"oss-bucket-name":t})});return c(r,null,null,o)},from:(e,t,o)=>{let r=a(e,t),n=r.advanced["oss-bucket-name"];return delete r.advanced["oss-bucket-name"],s({destinationType:e,custom:{path:d(t),bucket:n}},r)}}}],le={".amazonaws.com":"Amazon S3",".mycloudyplace.com":"MyCloudyPlace S3",".impossibleapi.net":"Impossible Cloud S3",".scw.cloud":"Scaleway S3",".hosteurope.de":"Hosteurope S3",".dunkel.de":"Dunkel S3",".dreamhost.com":"DreamHost S3",".dincloud.com":"dinCloud S3",".polisystems.ch":"Poli Systems S3",".softlayer.net":"IBM COS (S3)",".storadera.com":"Storadera S3",".wasabisys.com":"Wasabi S3",".infomaniak.com":"Infomaniak S3",".infomaniak.cloud":"Infomaniak S3",".sakurastorage.jp":"\u3055\u304F\u3089\u306E\u30AF\u30E9\u30A6\u30C9 S3",".lyvecloud.seagate.com":"Seagate Lyve S3",".digitaloceanspaces.com":"DigitalOcean S3",".backblazeb2.com":"Backblaze B2 S3",".cloudian.com":"Cloudian S3",".min.io":"MinIO S3",".linodeobjects.com":"Linode S3",".bunnycdn.com":"BunnyCDN S3",".azure.com":"Microsoft Azure S3",".googleapis.com":"Google Cloud Storage S3",".ibm.com":"IBM Cloud S3",".oracle.com":"Oracle Cloud S3",".cloudflare.com":"Cloudflare S3",".alibaba.com":"Alibaba Cloud S3",".huawei.com":"Huawei Cloud S3",".tencent.com":"Tencent Cloud S3",".baidu.com":"Baidu Cloud S3",".jd.com":"JD Cloud S3",".ucloud.cn":"UCloud S3",".qiniu.com":"Qiniu Cloud S3",".aliyuncs.com":"Aliyun S3",".tcloud.com":"TCloud S3",".tencentcloudapi.com":"Tencent Cloud S3"};function c(e,t,o,r){return v(e.destinationType??"file",t,o,r,[...Object.entries(e.advanced),...Object.entries(e.dynamic)])}function v(e,t,o,r,n){let l=b(n),u=encodeURIComponent(B(t)),y=u==""?"":u+j(o),f=r??"",$=f.slice(1).startsWith(":\\")&&e=="file"?"file:///":`${e}://`,O=M(y,I(f));return`${$}${O}${l}`}function N(e){return e==null||e===""?"":e.startsWith("/")?e.substring(1):e}function M(...e){if(e.length===0)return"";if(e.length===1)return e[0]??"";let t="";for(let o of e)o==null||o===""||(t+=t.endsWith("/")||t==""?o:"/"+o);return t}function I(e){return e.split("/").map(encodeURIComponent).join("/")}function d(e){if(e==null||e==="")return"";if(typeof e=="string")try{e=new URL(e)}catch{return""}return decodeURIComponent(e.hostname??"")+decodeURIComponent(e.pathname=="/"?"":e.pathname??"")}function B(e){return e==null||e===""?"":e.endsWith("/")?e.substring(0,e.length-1):e}function j(e){return e==null||e===""?"":":"+e.toString()}function P(e){return V.find(o=>o.key===e||o.customKey===e)??V.find(o=>`${o.key}s`===e)??null??s({key:e,displayName:e},w)}function m(e){return{server:decodeURIComponent(e.hostname),port:e.port,path:N(decodeURIComponent(e.pathname))}}function a(e,t){let o={},r={},n=P(e);return t.searchParams.forEach((l,u)=>{n?.dynamicFields?.some(f=>f===u||f?.name===u)?r[u]=decodeURIComponent(l):o[u]=decodeURIComponent(l)}),{advanced:o,dynamic:r}}function b(e,t=!1){let o=e.map(([n,l])=>`${n}=${l?encodeURIComponent(l.toString()):""}`).join("&");return o?(t?"":"?")+o:""}function me(e){let t=e.destinationType??"";return P(t)?.mapper.to(e)??""}function de(e){let t=URL.canParse(e),o=e.split("://")[0],r=e.split("://")[1],n=o==="file"?"http://dummy":"http://"+r;if(!r)return null;if(r.startsWith("%")&&o==="file")return P(o).mapper.from(o,new URL("http://localhost"),e);let l=P(o),u="";`${l.key}s`===o&&(u+=n.indexOf("?")===-1?"?":"&",u+="use-ssl=true",e=l.key+e.substring(o.length));try{let y=new URL(n+u);if(y.host==="undefined")return null;let f=r.split("?")[0].split("/")[0],G=!isNaN(Number(y.host.replaceAll(".",""))),$=f.split("."),O=$.length===4&&$.every(F=>F.length&&F.length<=3&&!isNaN(Number(F))&&parseInt(F)<=255);return G&&!O?null:l.mapper.from(l.key,y,e)}catch(y){return console.error("Error while parsing target path",y),null}}export{P as a,me as b,de as c,le as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as Ee}from"./chunk-
|
|
1
|
+
import{a as Ee}from"./chunk-L6CWVBZ6.js";import"./chunk-OMMUXRXE.js";import{a as fe}from"./chunk-NJEX2N4Q.js";import{h as O}from"./chunk-MSLKIHQQ.js";import"./chunk-N6ABN43N.js";import{a as Se}from"./chunk-DDWLL7XA.js";import"./chunk-2QJC4PGQ.js";import{b as T}from"./chunk-O64ZZGQZ.js";import{a as se}from"./chunk-6LTGTS6B.js";import"./chunk-DVDTYV66.js";import"./chunk-UIJYCGKA.js";import"./chunk-DELLEGXW.js";import"./chunk-RHW5QVAY.js";import"./chunk-VTSUHAP5.js";import"./chunk-UP5EOICU.js";import{c as le,e as me,f as de,j as _e,n as ce,o as ue,p as pe,q as Ce,r as ge,s as Ne,t as Me}from"./chunk-N5SC4SKW.js";import"./chunk-Z3EPZZGY.js";import"./chunk-UKQFDBNO.js";import{b as q,d as Z,e as J}from"./chunk-LVP2TPMO.js";import"./chunk-43JMN2ZY.js";import{a as Q,e as Y,g as ee,k as te,l as ne,p as ie,t as oe}from"./chunk-H7K35UUX.js";import{g as ae,h as re}from"./chunk-NOPMCS2Z.js";import"./chunk-TDKBGGNK.js";import"./chunk-RUXCS4ZK.js";import"./chunk-FPPZ4BUR.js";import"./chunk-6OPAGPKF.js";import{Ab as a,Bb as n,Cb as r,Gb as A,Hb as h,Jb as v,Pc as j,Qb as N,Ra as m,Rb as M,Sb as u,Tb as G,Ub as U,Wb as x,Yb as f,_ as c,bb as $,ea as S,fa as E,ic as w,oa as F,qc as K,rc as X,sc as z,ub as b,vb as B,wb as k,xb as R,xc as V,yb as y,yc as H,zb as C,zc as W}from"./chunk-HNWRQABR.js";import"./chunk-EUDKD2JW.js";var Fe=()=>["backup"];function Ae(s,t){s&1&&r(0,"sh-progress-bar",12)}function he(s,t){if(s&1&&(a(0,"sh-form-field"),r(1,"input",32),n()),s&2){let e=t.$implicit,l=t.$index;m(),C("id",V("filter-",l))("formControl",e)}}function Te(s,t){if(s&1){let e=v();a(0,"form",13)(1,"sh-select",14)(2,"label",15),u(3,1),n(),r(4,"input",16),n(),a(5,"sh-form-field")(6,"label",17),u(7,2),n(),r(8,"textarea",18),n(),a(9,"sh-form-field")(10,"label",19),u(11,3),n(),r(12,"textarea",20),n()(),a(13,"sh-divider"),u(14,4),n(),a(15,"form",13)(16,"sh-form-field")(17,"label",21),u(18,5),n(),r(19,"input",22),n(),a(20,"sh-form-field")(21,"label",23),u(22,6),n(),r(23,"input",24),n(),a(24,"app-toggle-card",25),A(25,26),u(26,7),h(),A(27,27),R(28,he,2,3,"sh-form-field",null,k),h(),n()(),a(30,"p"),N(31,8),r(32,"a",28),M(),n(),a(33,"app-options-list",29),z("optionsChange",function(o){S(e);let p=f();return X(p.settings,o)||(p.settings=o),E(o)}),n(),a(34,"div",30)(35,"button",31),x("click",function(){S(e);let o=f();return E(o.submit())}),N(36,9),r(37,"sh-icon"),M(),n()()}if(s&2){let e=f();C("formGroup",e.baseCmdForm),m(),C("options",e.commandOptions()??W(10,Fe))("inlineSearch",!0),m(14),C("formGroup",e.standardFields),m(9),C("disallowToggle",!0),m(4),y(e.standardFields.controls.filters.controls),m(5),K("options",e.settings),C("hasFreeTextSettings",!0),m(2),w("loader",e.isSubmitting()),m(2),G(e.baseCmdForm.value.command),U(36)}}var d=new ge,Oe=["Bytes","KB","MB","GB","TB","PB"],P=class s{#e=c(O);#t=c(re);#n=c(Z);#i=c(q);#o=c(ae);#a=c(se);#l=c(Y);#r=T(this.#i.params);commandOptions=T(this.#o.getApiV1Commandline());sizeOptions=F(Oe);isSubmitting=F(!1);optionsFields=this.#e.optionsFields;standardFields=d.group({"backup-id":d.control(""),"backup-name":d.control(""),dbpath:d.control(""),filters:d.array([])});baseCmdForm=d.group({command:d.control("backup"),targetUrl:d.control(""),arguments:d.control("")});finishedLoading=this.#e.finishedLoading;backupId=this.#e.backupId;settings=this.#e.settings;#m=j(()=>{let t=this.#r()?.id;this.#e.backupId.set(t),this.getBackup(t)});getBackup(t){this.#t.getApiV1BackupById({id:t}).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule??null),e.Backup&&(this.#e.mapGeneralToForm(e.Backup),this.mapStandardFieldsToForm(e.Backup),this.mapBaseCmdToForm(e.Backup),this.#e.mapOptionsToForms(e.Backup)),this.#e.finishedLoading.set(!0)}})}mapStandardFieldsToForm(t){this.standardFields.patchValue({dbpath:t.DBPath,"backup-id":t.ID,"backup-name":t.Name}),t.Filters&&t.Filters.length&&t.Filters.map(e=>{this.standardFields.controls.filters.push(d.control(`${e.Include?"":"-"}${e.Expression}`))})}submit(){this.#a.resumeDialogCheck(()=>this.#s())}#s(){this.isSubmitting.set(!0);let t=this.baseCmdForm.value,e=t.targetUrl??"",l=t.arguments?.split(`
|
|
2
2
|
`).filter(i=>i.length>0)??[],o=this.standardFields.value,p=o.filters??[],g=[t.command,e,...l,`--backup-name=${o["backup-name"]}`,`--dbpath=${o.dbpath}`,`--backup-id=${o["backup-id"]}`,...p.filter(i=>i).map(i=>i.startsWith("-")?`--exclude=${i?.slice(1)}`:`--include=${i}`),...this.#e.mapFormsToSettings(["backup-id","backup-name","dbpath"]).map(i=>`${i.Name.startsWith("--")?"":"--"}${i.Name}=${i.Value}`),"--disable-module=console-password-input"];this.#t.postApiV1Commandline({requestBody:g}).subscribe(i=>{i.Status==="OK"&&this.#n.navigate(["backup",this.backupId(),"commandline",i.ID])})}mapBaseCmdToForm(t){let e=t.TargetURL??null;e&&this.baseCmdForm.patchValue({targetUrl:e??"",arguments:t.Sources?.join(`
|
|
3
3
|
`)??""})}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=$({type:s,selectors:[["app-commandline"]],features:[H([O])],decls:8,vars:1,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`Command`;let l;l=$localize`TargetUrl`;let o;o=$localize`Commandline Arguments`;let p;p=$localize`Advanced options`;let g;g=$localize`Backup ID`;let i;i=$localize`Backup Name`;let I;I=$localize`Filters`;let D;D=$localize` The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. ${"\uFFFD#32\uFFFD"}:START_LINK:Read more${"\uFFFD/#32\uFFFD"}:CLOSE_LINK:`;let L;return L=$localize`${"\uFFFD#37\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#37\uFFFD"}:CLOSE_TAG_SH_ICON: Run "${"\uFFFD0\uFFFD"}:INTERPOLATION:" command now `,[t,e,l,o,p,g,i,I,D,L,[1,"back"],["type","button","shButton","","routerLink","/",1,"small"],[1,"indeterminate","primary"],[3,"formGroup"],["placeholder","Select a command...",3,"options","inlineSearch"],["for","command"],["type","text","id","command","formControlName","command"],["for","targetUrl"],["id","targetUrl","autocomplete","off","formControlName","targetUrl"],["for","arguments"],["id","arguments","autocomplete","off","formControlName","arguments"],["for","backup-id"],["id","backup-id","formControlName","backup-id"],["for","backup-name"],["id","backup-name","formControlName","backup-name"],[3,"disallowToggle"],["title",""],["content","","formGroupName","filters"],["href","#",1,"sh-primary"],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","",1,"raised","primary",3,"click"],[3,"id","formControl"]]},template:function(e,l){e&1&&(r(0,"app-status-bar"),a(1,"section")(2,"div",10)(3,"button",11),N(4,0),r(5,"sh-icon"),M(),n()(),b(6,Ae,1,0,"sh-progress-bar",12)(7,Te,38,11),n()),e&2&&(m(6),B(l.finishedLoading()?7:6))},dependencies:[Ne,_e,le,me,de,fe,Ee,Se,Me,ce,ue,Ce,pe,J,ne,ee,te,oe,ie,Q],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;max-width:40rem;padding:2.5rem;gap:1.25rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};export{P as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-UP5EOICU.js";import"./chunk-RUXCS4ZK.js";import"./chunk-FPPZ4BUR.js";import"./chunk-HNWRQABR.js";import"./chunk-EUDKD2JW.js";export{a as BytesPipe};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as de,b as me}from"./chunk-CZLLEVMJ.js";import{a as ce}from"./chunk-QY6E755W.js";import{a as oe}from"./chunk-66BSPEOQ.js";import{b as re,c as ae,e as le,i as se,k as _e,s as pe}from"./chunk-USU2EHJV.js";import{A as ne,C as ie,a as Q,g as W,l as Y,o as Z,t as ee,z as te}from"./chunk-WRNQOX5R.js";import{ea as J}from"./chunk-WJPLJKPQ.js";import{Ab as a,Bb as s,Cb as w,Gb as v,Hb as V,Hc as D,Ib as T,Jb as g,Oc as k,Qb as b,Ra as p,Rb as $,Sb as X,Uc as R,Wb as C,Xc as q,Yb as l,_ as K,bb as U,ea as m,fa as u,gb as f,gc as x,ic as B,lc as d,mc as G,nc as A,oa as M,tc as H,ub as h,uc as z,vb as O,vc as S,wb as N,xb as P,yb as E,zb as c,zc as j}from"./chunk-QDFCX6XE.js";import{a as I,b as L}from"./chunk-EUDKD2JW.js";var ge=()=>({updateOn:"blur"});function fe(t,i){if(t&1){let e=g();a(0,"button",13),C("click",function(){m(e);let n=l();return u(n.showTextArea.set(!1))}),b(1,5),w(2,"sh-icon"),$(),s()}}function xe(t,i){if(t&1){let e=g();a(0,"button",17,0),C("click",function(){let n=m(e).$implicit,r=l(3);return u(r.addSetting(n))}),d(2),s()}if(t&2){let e=i.$implicit;B("deprecated",e.deprecatedDescription),p(2),A(" ",e.name," ")}}function Se(t,i){if(t&1&&(a(0,"h3",9),d(1),s(),P(2,xe,3,3,"button",16,N)),t&2){let e=i.$implicit;p(),G(e.displayName),p(),E(e.options)}}function Te(t,i){if(t&1){let e=g();a(0,"sh-menu")(1,"button",18)(2,"sh-icon"),d(3,"dots-three-vertical"),s()(),v(4,15),a(5,"button",13),C("click",function(){m(e);let n=l(2);return u(n.addFreeTextSetting())}),b(6,7),w(7,"sh-icon"),$(),s(),a(8,"button",19),C("click",function(){m(e);let n=l(2);return u(n.showTextArea.set(!0))}),a(9,"sh-icon"),d(10,"link"),s(),d(11," Edit contents as text "),s(),V(),s()}}function he(t,i){if(t&1&&(a(0,"sh-menu",14)(1,"button",11),b(2,6),w(3,"sh-icon"),$(),s(),v(4,15),P(5,Se,4,1,null,null,N),V(),s(),h(7,Te,12,0,"sh-menu")),t&2){let e=l();c("searchable",!0),p(5),E(e.nonSelectedOptionsGrouped()),p(2),O(e.hasFreeTextSettings()?7:-1)}}function Oe(t,i){if(t&1){let e=g();a(0,"textarea",20),C("ngModelChange",function(n){m(e);let r=l();return u(r.updateSettingsFromText(n))}),s()}if(t&2){let e=l();c("ngModel",e.settingsAsText())("ngModelOptions",j(2,ge))}}function Fe(t,i){t&1&&(a(0,"div",21),d(1,"Add a setting above to get started."),s())}function we(t,i){t&1&&(a(0,"sh-icon",29),d(1," warning-octagon "),s())}function Ve(t,i){if(t&1&&(a(0,"sh-icon",30),d(1,"archive"),s()),t&2){let e=l(2).$implicit;c("shTooltip",e.FormView.deprecatedDescription)}}function ye(t,i){if(t&1&&(a(0,"sh-icon",31),d(1,"question"),s()),t&2){let e=l(2).$implicit;c("shTooltip",e.FormView.longDescription)}}function Ie(t,i){if(t&1&&(h(0,we,2,0,"sh-icon",29),a(1,"span"),d(2),s(),h(3,Ve,2,1,"sh-icon",30)(4,ye,2,1,"sh-icon",31)),t&2){let e=l().$implicit,o=S(1);O(o?0:-1),p(),B("deprecated",e.FormView.deprecatedDescription),p(),G(e.FormView.shortDescription),p(),O(e.FormView.deprecatedDescription?3:e.FormView.longDescription?4:-1)}}function Le(t,i){t&1&&T(0)}function Me(t,i){if(t&1){let e=g();a(0,"div",23)(1,"label"),f(2,Le,1,0,"ng-container",32),s(),a(3,"div")(4,"sh-form-field")(5,"input",33),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateFreeTextSettingName(r,n))}),s(),a(6,"sh-icon",34),d(7,"rectangle-dashed"),s()()(),a(8,"div")(9,"sh-form-field")(10,"input",33),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s(),a(11,"sh-icon",34),d(12,"textbox"),s()()()()}if(t&2){let e=l().$implicit,o=x(3);p(2),c("ngTemplateOutlet",o),p(3),c("ngModel",e.Name),p(5),c("ngModel",e.Value())}}function Ne(t,i){t&1&&T(0)}function Pe(t,i){if(t&1){let e=g();a(0,"app-file-tree",24)(1,"label",35),f(2,Ne,1,0,"ng-container",32),s(),a(3,"input",36),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);c("startingPath",e.Value())("accepts",e.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("id",n)("ngModel",e.Value())}}function Ee(t,i){if(t&1){let e=g();a(0,"app-file-tree",25),w(1,"label",35),a(2,"input",36),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()()}if(t&2){let e=l().$implicit,o=S(0);c("startingPath",e.Value()),p(),c("for",o),p(),c("id",o)("ngModel",e.Value())}}function ve(t,i){t&1&&T(0)}function be(t,i){t&1&&(a(0,"sh-icon",34),d(1,"link"),s())}function $e(t,i){t&1&&(a(0,"sh-icon",34),d(1,"textbox"),s())}function Ae(t,i){if(t&1){let e=g();a(0,"sh-form-field")(1,"label",35),f(2,ve,1,0,"ng-container",32),s(),a(3,"input",36),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s(),h(4,be,2,0,"sh-icon",34)(5,$e,2,0,"sh-icon",34),s()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("id",n)("ngModel",e.Value()),p(),O(e.FormView.type==="Path"?4:5)}}function De(t,i){t&1&&T(0)}function ke(t,i){if(t&1){let e=g();a(0,"sh-icon",39),C("click",function(){m(e);let n=l(2).$implicit;return u(n.showPassword=!n.showPassword)}),d(1," eye "),s()}}function Re(t,i){if(t&1){let e=g();a(0,"sh-icon",39),C("click",function(){m(e);let n=l(2).$implicit;return u(n.showPassword=!n.showPassword)}),d(1," eye-slash "),s()}}function Be(t,i){if(t&1){let e=g();a(0,"sh-form-field")(1,"label",35),f(2,De,1,0,"ng-container",32),s(),a(3,"input",37),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s(),a(4,"sh-icon",34),d(5,"password"),s(),h(6,ke,2,0,"sh-icon",38)(7,Re,2,0,"sh-icon",38),s()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("type",e.showPassword?"text":"password")("id",n)("ngModel",e.Value()),p(3),O(e.showPassword?6:7)}}function Ge(t,i){t&1&&T(0)}function ze(t,i){if(t&1&&d(0),t&2){let e=i.$implicit;A(" ",e," ")}}function Ke(t,i){if(t&1){let e=g();a(0,"sh-select",40)(1,"label",35),f(2,Ge,1,0,"ng-container",32),s(),a(3,"input",36),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()(),f(4,ze,1,1,"ng-template",null,2,D)}if(t&2){let e=x(5),o=l().$implicit,n=x(3),r=S(0);c("options",o.FormView.options)("isClearable",!1)("optionTemplate",e),p(),c("for",r),p(),c("ngTemplateOutlet",n),p(),c("id",r)("ngModel",o.Value())}}function Ue(t,i){t&1&&T(0)}function Xe(t,i){if(t&1){let e=g();a(0,"app-size",41),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),a(1,"label",35),f(2,Ue,1,0,"ng-container",32),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);c("inputType",e.Name)("ngModel",e.Value())("customId",n),p(),c("for",n),p(),c("ngTemplateOutlet",o)}}function He(t,i){t&1&&T(0)}function je(t,i){if(t&1){let e=g();a(0,"sh-form-field")(1,"label",35),f(2,He,1,0,"ng-container",32),s(),a(3,"input",42),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s(),a(4,"sh-icon",34),d(5,"numpad"),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("id",n)("ngModel",e.Value())}}function qe(t,i){t&1&&T(0)}function Je(t,i){if(t&1){let e=g();a(0,"sh-toggle",27)(1,"label",35),f(2,qe,1,0,"ng-container",32),s(),a(3,"input",43),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("id",n)("ngModel",e.Value())}}function Qe(t,i){t&1&&T(0)}function We(t,i){if(t&1&&d(0),t&2){let e=i.$implicit;A(" ",e," ")}}function Ye(t,i){if(t&1){let e=g();a(0,"sh-select",44)(1,"label",35),f(2,Qe,1,0,"ng-container",32),s(),a(3,"input",45),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()(),f(4,We,1,1,"ng-template",null,3,D)}if(t&2){let e=x(5),o=l().$implicit,n=x(3),r=S(0);c("options",o.FormView.options)("selectMultiple",!0)("optionTemplate",e),p(),c("for",r),p(),c("ngTemplateOutlet",n),p(),c("ngModel",o.Value())}}function Ze(t,i){t&1&&T(0)}function et(t,i){if(t&1){let e=g();a(0,"app-timespan",41),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),a(1,"label",35),f(2,Ze,1,0,"ng-container",32),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);c("inputType",e.Name)("ngModel",e.Value())("customId",n),p(),c("for",n),p(),c("ngTemplateOutlet",o)}}function tt(t,i){if(t&1){let e=g();H(0)(1),f(2,Ie,5,5,"ng-template",null,1,D),a(4,"div",22),h(5,Me,13,3,"div",23)(6,Pe,4,9,"app-file-tree",24)(7,Ee,3,4,"app-file-tree",25)(8,Ae,6,5,"sh-form-field")(9,Be,8,6,"sh-form-field")(10,Ke,6,7)(11,Xe,3,5,"app-size",26)(12,je,6,4,"sh-form-field")(13,Je,4,4,"sh-toggle",27)(14,Ye,6,6)(15,et,3,5,"app-timespan",26),a(16,"button",28),C("click",function(){let n=m(e).$implicit,r=l(2);return u(r.removeSetting(n))}),a(17,"sh-icon"),d(18,"x-bold"),s()()()}if(t&2){let e=i.$implicit,o=i.$index,n=l(2);z("destination-"+e.Name+o),p(),z(n.inAppOptions(e.Name)),p(4),O(e.FormView.type==="FreeText"?5:e.FormView.type==="FileTree"?6:e.FormView.type==="FolderTree"?7:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?8:e.FormView.type==="Password"?9:e.FormView.type==="Enumeration"?10:e.FormView.type==="Size"?11:e.FormView.type==="Integer"?12:e.FormView.type==="Boolean"?13:e.FormView.type==="Flags"?14:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?15:-1)}}function nt(t,i){if(t&1&&(h(0,Fe,2,0,"div",21),P(1,tt,19,3,null,null,N)),t&2){let e=l();O(e.selectedSettings().length===0?0:-1),p(),E(e.selectedSettings())}}var ue=class t{#e=K(oe);options=q.required();hiddenOptions=R([]);hasFreeTextSettings=R(!1);applicationOptions=R();showTextArea=M(!1);allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=k(()=>{let i=this.hiddenOptions();return this.options().map(n=>{let r=this.allOptions().find(F=>F.name===n.Name?.replace("--","")),_=n.Value??"";if(r&&i.includes(r.name))return null;if(r){if(r.type==="Boolean"&&(_=this.isTrue(_)),r.type==="Integer"&&(_=parseInt(_)||0),r.type==="Enumeration"&&r.options){let F=_?.trim().toLowerCase(),y=r.options.find(Ce=>(Ce??"").trim().toLocaleLowerCase()===F);y&&(_=y)}return L(I({},n),{Value:M(_),FormView:r})}else if(this.hasFreeTextSettings())return L(I({},n),{Value:M(_),FormView:{name:n.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(n=>n!==null)});nonSelectedOptionsGrouped=k(()=>{let i=this.options().map(o=>o.Name?.replace("--","")),e=this.hiddenOptions();return this.allOptionsGrouped().map(o=>L(I({},o),{options:o.options.filter(n=>!i.includes(n.name)&&!e.includes(n.name))})).filter(o=>o.options.length>0)});settingsAsText=k(()=>this.selectedSettings().map(i=>{let e=i.Value(),o="";return typeof e=="boolean"?o=this.isTrue(e)?"True":"False":(typeof e=="number"||e!=null)&&(o=e.toString()),`${i.Name??""}=${o}`}).join(`
|
|
1
|
+
import{a as de,b as me}from"./chunk-OMMUXRXE.js";import{a as ce}from"./chunk-N6ABN43N.js";import{a as oe}from"./chunk-VTSUHAP5.js";import{b as re,c as ae,e as le,i as se,k as _e,s as pe}from"./chunk-N5SC4SKW.js";import{A as ne,C as ie,a as Q,g as W,l as Y,o as Z,t as ee,z as te}from"./chunk-H7K35UUX.js";import{ea as J}from"./chunk-RUXCS4ZK.js";import{Ab as a,Bb as s,Cb as w,Gb as v,Hb as V,Hc as D,Ib as T,Jb as g,Oc as k,Qb as b,Ra as p,Rb as $,Sb as X,Uc as R,Wb as C,Xc as q,Yb as l,_ as K,bb as U,ea as m,fa as u,gb as f,gc as x,ic as B,lc as d,mc as G,nc as A,oa as M,tc as H,ub as h,uc as z,vb as O,vc as S,wb as N,xb as P,yb as E,zb as c,zc as j}from"./chunk-HNWRQABR.js";import{a as I,b as L}from"./chunk-EUDKD2JW.js";var ge=()=>({updateOn:"blur"});function fe(t,i){if(t&1){let e=g();a(0,"button",13),C("click",function(){m(e);let n=l();return u(n.showTextArea.set(!1))}),b(1,5),w(2,"sh-icon"),$(),s()}}function xe(t,i){if(t&1){let e=g();a(0,"button",17,0),C("click",function(){let n=m(e).$implicit,r=l(3);return u(r.addSetting(n))}),d(2),s()}if(t&2){let e=i.$implicit;B("deprecated",e.deprecatedDescription),p(2),A(" ",e.name," ")}}function Se(t,i){if(t&1&&(a(0,"h3",9),d(1),s(),P(2,xe,3,3,"button",16,N)),t&2){let e=i.$implicit;p(),G(e.displayName),p(),E(e.options)}}function Te(t,i){if(t&1){let e=g();a(0,"sh-menu")(1,"button",18)(2,"sh-icon"),d(3,"dots-three-vertical"),s()(),v(4,15),a(5,"button",13),C("click",function(){m(e);let n=l(2);return u(n.addFreeTextSetting())}),b(6,7),w(7,"sh-icon"),$(),s(),a(8,"button",19),C("click",function(){m(e);let n=l(2);return u(n.showTextArea.set(!0))}),a(9,"sh-icon"),d(10,"link"),s(),d(11," Edit contents as text "),s(),V(),s()}}function he(t,i){if(t&1&&(a(0,"sh-menu",14)(1,"button",11),b(2,6),w(3,"sh-icon"),$(),s(),v(4,15),P(5,Se,4,1,null,null,N),V(),s(),h(7,Te,12,0,"sh-menu")),t&2){let e=l();c("searchable",!0),p(5),E(e.nonSelectedOptionsGrouped()),p(2),O(e.hasFreeTextSettings()?7:-1)}}function Oe(t,i){if(t&1){let e=g();a(0,"textarea",20),C("ngModelChange",function(n){m(e);let r=l();return u(r.updateSettingsFromText(n))}),s()}if(t&2){let e=l();c("ngModel",e.settingsAsText())("ngModelOptions",j(2,ge))}}function Fe(t,i){t&1&&(a(0,"div",21),d(1,"Add a setting above to get started."),s())}function we(t,i){t&1&&(a(0,"sh-icon",29),d(1," warning-octagon "),s())}function Ve(t,i){if(t&1&&(a(0,"sh-icon",30),d(1,"archive"),s()),t&2){let e=l(2).$implicit;c("shTooltip",e.FormView.deprecatedDescription)}}function ye(t,i){if(t&1&&(a(0,"sh-icon",31),d(1,"question"),s()),t&2){let e=l(2).$implicit;c("shTooltip",e.FormView.longDescription)}}function Ie(t,i){if(t&1&&(h(0,we,2,0,"sh-icon",29),a(1,"span"),d(2),s(),h(3,Ve,2,1,"sh-icon",30)(4,ye,2,1,"sh-icon",31)),t&2){let e=l().$implicit,o=S(1);O(o?0:-1),p(),B("deprecated",e.FormView.deprecatedDescription),p(),G(e.FormView.shortDescription),p(),O(e.FormView.deprecatedDescription?3:e.FormView.longDescription?4:-1)}}function Le(t,i){t&1&&T(0)}function Me(t,i){if(t&1){let e=g();a(0,"div",23)(1,"label"),f(2,Le,1,0,"ng-container",32),s(),a(3,"div")(4,"sh-form-field")(5,"input",33),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateFreeTextSettingName(r,n))}),s(),a(6,"sh-icon",34),d(7,"rectangle-dashed"),s()()(),a(8,"div")(9,"sh-form-field")(10,"input",33),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s(),a(11,"sh-icon",34),d(12,"textbox"),s()()()()}if(t&2){let e=l().$implicit,o=x(3);p(2),c("ngTemplateOutlet",o),p(3),c("ngModel",e.Name),p(5),c("ngModel",e.Value())}}function Ne(t,i){t&1&&T(0)}function Pe(t,i){if(t&1){let e=g();a(0,"app-file-tree",24)(1,"label",35),f(2,Ne,1,0,"ng-container",32),s(),a(3,"input",36),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);c("startingPath",e.Value())("accepts",e.FormView.accepts)("showFiles",!0)("showHiddenNodes",!0)("selectFiles",!0),p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("id",n)("ngModel",e.Value())}}function Ee(t,i){if(t&1){let e=g();a(0,"app-file-tree",25),w(1,"label",35),a(2,"input",36),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()()}if(t&2){let e=l().$implicit,o=S(0);c("startingPath",e.Value()),p(),c("for",o),p(),c("id",o)("ngModel",e.Value())}}function ve(t,i){t&1&&T(0)}function be(t,i){t&1&&(a(0,"sh-icon",34),d(1,"link"),s())}function $e(t,i){t&1&&(a(0,"sh-icon",34),d(1,"textbox"),s())}function Ae(t,i){if(t&1){let e=g();a(0,"sh-form-field")(1,"label",35),f(2,ve,1,0,"ng-container",32),s(),a(3,"input",36),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s(),h(4,be,2,0,"sh-icon",34)(5,$e,2,0,"sh-icon",34),s()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("id",n)("ngModel",e.Value()),p(),O(e.FormView.type==="Path"?4:5)}}function De(t,i){t&1&&T(0)}function ke(t,i){if(t&1){let e=g();a(0,"sh-icon",39),C("click",function(){m(e);let n=l(2).$implicit;return u(n.showPassword=!n.showPassword)}),d(1," eye "),s()}}function Re(t,i){if(t&1){let e=g();a(0,"sh-icon",39),C("click",function(){m(e);let n=l(2).$implicit;return u(n.showPassword=!n.showPassword)}),d(1," eye-slash "),s()}}function Be(t,i){if(t&1){let e=g();a(0,"sh-form-field")(1,"label",35),f(2,De,1,0,"ng-container",32),s(),a(3,"input",37),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s(),a(4,"sh-icon",34),d(5,"password"),s(),h(6,ke,2,0,"sh-icon",38)(7,Re,2,0,"sh-icon",38),s()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("type",e.showPassword?"text":"password")("id",n)("ngModel",e.Value()),p(3),O(e.showPassword?6:7)}}function Ge(t,i){t&1&&T(0)}function ze(t,i){if(t&1&&d(0),t&2){let e=i.$implicit;A(" ",e," ")}}function Ke(t,i){if(t&1){let e=g();a(0,"sh-select",40)(1,"label",35),f(2,Ge,1,0,"ng-container",32),s(),a(3,"input",36),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()(),f(4,ze,1,1,"ng-template",null,2,D)}if(t&2){let e=x(5),o=l().$implicit,n=x(3),r=S(0);c("options",o.FormView.options)("isClearable",!1)("optionTemplate",e),p(),c("for",r),p(),c("ngTemplateOutlet",n),p(),c("id",r)("ngModel",o.Value())}}function Ue(t,i){t&1&&T(0)}function Xe(t,i){if(t&1){let e=g();a(0,"app-size",41),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),a(1,"label",35),f(2,Ue,1,0,"ng-container",32),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);c("inputType",e.Name)("ngModel",e.Value())("customId",n),p(),c("for",n),p(),c("ngTemplateOutlet",o)}}function He(t,i){t&1&&T(0)}function je(t,i){if(t&1){let e=g();a(0,"sh-form-field")(1,"label",35),f(2,He,1,0,"ng-container",32),s(),a(3,"input",42),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s(),a(4,"sh-icon",34),d(5,"numpad"),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("id",n)("ngModel",e.Value())}}function qe(t,i){t&1&&T(0)}function Je(t,i){if(t&1){let e=g();a(0,"sh-toggle",27)(1,"label",35),f(2,qe,1,0,"ng-container",32),s(),a(3,"input",43),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);p(),c("for",n),p(),c("ngTemplateOutlet",o),p(),c("id",n)("ngModel",e.Value())}}function Qe(t,i){t&1&&T(0)}function We(t,i){if(t&1&&d(0),t&2){let e=i.$implicit;A(" ",e," ")}}function Ye(t,i){if(t&1){let e=g();a(0,"sh-select",44)(1,"label",35),f(2,Qe,1,0,"ng-container",32),s(),a(3,"input",45),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),s()(),f(4,We,1,1,"ng-template",null,3,D)}if(t&2){let e=x(5),o=l().$implicit,n=x(3),r=S(0);c("options",o.FormView.options)("selectMultiple",!0)("optionTemplate",e),p(),c("for",r),p(),c("ngTemplateOutlet",n),p(),c("ngModel",o.Value())}}function Ze(t,i){t&1&&T(0)}function et(t,i){if(t&1){let e=g();a(0,"app-timespan",41),C("ngModelChange",function(n){m(e);let r=l().$implicit,_=l(2);return u(_.updateSettingValue(r,n))}),a(1,"label",35),f(2,Ze,1,0,"ng-container",32),s()()}if(t&2){let e=l().$implicit,o=x(3),n=S(0);c("inputType",e.Name)("ngModel",e.Value())("customId",n),p(),c("for",n),p(),c("ngTemplateOutlet",o)}}function tt(t,i){if(t&1){let e=g();H(0)(1),f(2,Ie,5,5,"ng-template",null,1,D),a(4,"div",22),h(5,Me,13,3,"div",23)(6,Pe,4,9,"app-file-tree",24)(7,Ee,3,4,"app-file-tree",25)(8,Ae,6,5,"sh-form-field")(9,Be,8,6,"sh-form-field")(10,Ke,6,7)(11,Xe,3,5,"app-size",26)(12,je,6,4,"sh-form-field")(13,Je,4,4,"sh-toggle",27)(14,Ye,6,6)(15,et,3,5,"app-timespan",26),a(16,"button",28),C("click",function(){let n=m(e).$implicit,r=l(2);return u(r.removeSetting(n))}),a(17,"sh-icon"),d(18,"x-bold"),s()()()}if(t&2){let e=i.$implicit,o=i.$index,n=l(2);z("destination-"+e.Name+o),p(),z(n.inAppOptions(e.Name)),p(4),O(e.FormView.type==="FreeText"?5:e.FormView.type==="FileTree"?6:e.FormView.type==="FolderTree"?7:e.FormView.type==="String"||e.FormView.type==="Path"||e.FormView.type==="Decimal"?8:e.FormView.type==="Password"?9:e.FormView.type==="Enumeration"?10:e.FormView.type==="Size"?11:e.FormView.type==="Integer"?12:e.FormView.type==="Boolean"?13:e.FormView.type==="Flags"?14:e.FormView.type==="Timespan"||e.FormView.type==="DateTime"?15:-1)}}function nt(t,i){if(t&1&&(h(0,Fe,2,0,"div",21),P(1,tt,19,3,null,null,N)),t&2){let e=l();O(e.selectedSettings().length===0?0:-1),p(),E(e.selectedSettings())}}var ue=class t{#e=K(oe);options=q.required();hiddenOptions=R([]);hasFreeTextSettings=R(!1);applicationOptions=R();showTextArea=M(!1);allOptionsGrouped=this.#e.allOptionsGrouped;allOptions=this.#e.allOptions;selectedSettings=k(()=>{let i=this.hiddenOptions();return this.options().map(n=>{let r=this.allOptions().find(F=>F.name===n.Name?.replace("--","")),_=n.Value??"";if(r&&i.includes(r.name))return null;if(r){if(r.type==="Boolean"&&(_=this.isTrue(_)),r.type==="Integer"&&(_=parseInt(_)||0),r.type==="Enumeration"&&r.options){let F=_?.trim().toLowerCase(),y=r.options.find(Ce=>(Ce??"").trim().toLocaleLowerCase()===F);y&&(_=y)}return L(I({},n),{Value:M(_),FormView:r})}else if(this.hasFreeTextSettings())return L(I({},n),{Value:M(_),FormView:{name:n.Name,type:"FreeText",shortDescription:"Custom settings argument",longDescription:"Custom settings argument"}});return null}).filter(n=>n!==null)});nonSelectedOptionsGrouped=k(()=>{let i=this.options().map(o=>o.Name?.replace("--","")),e=this.hiddenOptions();return this.allOptionsGrouped().map(o=>L(I({},o),{options:o.options.filter(n=>!i.includes(n.name)&&!e.includes(n.name))})).filter(o=>o.options.length>0)});settingsAsText=k(()=>this.selectedSettings().map(i=>{let e=i.Value(),o="";return typeof e=="boolean"?o=this.isTrue(e)?"True":"False":(typeof e=="number"||e!=null)&&(o=e.toString()),`${i.Name??""}=${o}`}).join(`
|
|
2
2
|
`));updateSettingsFromText(i){if(typeof i!="string")return;let e=i.split(`
|
|
3
3
|
`).map(n=>n.trim()).filter(n=>n.length>0),o=[];for(let n of e){let[r,_]=n.split("=").map(F=>F.trim());r&&r.trim().length>0&&_!==void 0&&o.push({Name:`${r}`,Value:_})}this.options.update(()=>o)}isTrue(i){if(typeof i=="boolean")return i;if(typeof i=="string"){let e=i.toLowerCase();return e==="true"||e==="1"||e==="yes"||e==="on"}return!1}inAppOptions(i){let e=this.applicationOptions()?.findIndex(o=>o.Name?.replace("--","")===i);return e===void 0?!1:e>-1}addFreeTextSetting(){this.hasFreeTextSettings()&&this.options.update(i=>[...i,{Filter:null,Name:"",Value:""}])}addSetting(i){this.options.update(e=>{let o=i.defaultValue??"";return i.type==="Boolean"&&(o=this.isTrue(o)),i.type==="Integer"&&(o=parseInt(o)||0),[...e,{Name:i.name,Value:o}]})}updateSettingValue(i,e){this.options.update(o=>{let n=[...o],r=n.findIndex(_=>_.Name===i.Name);if(i.FormView.type==="Boolean")return n[r].Value=this.isTrue(e)?"True":"False",n;if(i.FormView.type==="Integer")return n[r].Value=e.toString(),n;if(i.FormView.type==="Enumeration"&&i.FormView.options){let _=e?.trim().toLowerCase()??"",F=i.FormView.options.find(y=>(y??"").trim().toLocaleLowerCase()===_);if(F)return n[r].Value=F,n}return n[r].Value=e,n})}updateFreeTextSettingName(i,e){this.options.update(o=>{let n=[...o],r=n.findIndex(_=>_.Name===i.Name);return n[r].Name=e,n})}removeSetting(i){this.options.update(e=>e.filter(o=>o.Name!==i.Name))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=U({type:t,selectors:[["app-options-list"]],inputs:{options:[1,"options"],hiddenOptions:[1,"hiddenOptions"],hasFreeTextSettings:[1,"hasFreeTextSettings"],applicationOptions:[1,"applicationOptions"]},outputs:{options:"optionsChange"},decls:9,vars:3,consts:()=>{let i;i=$localize`Advanced options`;let e;e=$localize` Show editor ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:link${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let o;o=$localize` Add advanced option ${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:plus${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SH_ICON:`;let n;n=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SH_ICON:pen${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SH_ICON: New custom option `;let r;return r=$localize`By adding this option it will override the matching global option`,[["option",""],["defaultLabel",""],["enumOptionTemplate",""],["optionTemplate",""],i,e,o,n,[3,"disallowToggle"],["title",""],[1,"actions"],["shButton","","type","button",1,"outlined","small"],["wrap","off","placeholder","Paste advanced options here, one per line.",1,"raw-text-area",3,"ngModel","ngModelOptions"],["shButton","","type","button",1,"outlined","small",3,"click"],[3,"searchable"],["menu",""],["type","button",3,"deprecated"],["type","button",3,"click"],["shButton","","type","button",1,"small"],["shButton","","type","button",1,"small",3,"click"],["wrap","off","placeholder","Paste advanced options here, one per line.",1,"raw-text-area",3,"ngModelChange","ngModel","ngModelOptions"],[1,"placeholder"],[1,"field-row"],[1,"form-column"],[3,"startingPath","accepts","showFiles","showHiddenNodes","selectFiles"],[3,"startingPath"],[3,"inputType","ngModel","customId"],[1,"primary","raised"],["shButton","","type","button",1,"outlined","remove-btn",3,"click"],["shTooltip",r,1,"error"],[1,"warn",3,"shTooltip"],[1,"primary",3,"shTooltip"],[4,"ngTemplateOutlet"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[3,"for"],["type","text",3,"ngModelChange","id","ngModel"],["autocomplete","off",3,"ngModelChange","type","id","ngModel"],["suffix","",1,"clickable"],["suffix","",1,"clickable",3,"click"],[3,"options","isClearable","optionTemplate"],[3,"ngModelChange","inputType","ngModel","customId"],["type","number",3,"ngModelChange","id","ngModel"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"ngModelChange","ngModel"]]},template:function(e,o){e&1&&(a(0,"sh-toggle-card",8),v(1,9)(2),X(3,4),V(),a(4,"div",10),h(5,fe,3,0,"button",11)(6,he,8,2),s(),V(),h(7,Oe,1,3,"textarea",12)(8,nt,3,1),s()),e&2&&(c("disallowToggle",!0),p(5),O(o.showTextArea()?5:6),p(2),O(o.showTextArea()?7:8))},dependencies:[pe,ae,_e,re,le,se,ce,te,Y,W,Z,ie,Q,ee,ne,de,me,J],styles:["[_nghost-%COMP%]{display:block}sh-select[_ngcontent-%COMP%]{--miw: p2r(120)}sh-toggle[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:1rem}.placeholder[_ngcontent-%COMP%]{color:var(--base-9);text-align:center;padding:2rem 1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr 2.5rem;gap:.5rem;position:relative;z-index:1}.field-row[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{align-self:flex-end}.form-column[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-direction:column}label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}sh-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end}.deprecated[_ngcontent-%COMP%]{text-decoration:line-through}.raw-text-area[_ngcontent-%COMP%]{min-height:12rem;white-space:pre}"],changeDetection:0})};export{ue as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as qr}from"./chunk-43JMN2ZY.js";import{h as Fr,k as Ye}from"./chunk-RUXCS4ZK.js";import{$ as vr,$b as Pr,B as Z,C as ie,Cb as Nr,E as Ot,F as oe,H as Ve,I as G,Ic as Lr,J as Mt,K as dr,M as fr,Nc as jr,O as pr,P as b,Pa as wr,Q as Dt,R as y,S,Sc as kr,Uc as $r,V as C,Va as Pt,Wa as x,Wb as Ur,X as gr,Xa as br,Y as N,Z as We,Zc as Qe,_ as d,_a as Ir,ab as xt,ba as se,bb as Ar,bc as xr,bd as Ke,ca as P,cc as _r,d as sr,db as we,e as ar,ed as zr,f as ur,g as At,h as Tt,i as z,ia as mr,j as D,jb as J,ka as Rr,l as F,m as A,ma as Ge,mb as Tr,n as h,nb as Er,o as Se,oa as yr,p as cr,pa as Sr,pb as Or,q as lr,qb as Mr,r as v,ra as Ce,s as Be,sa as Nt,t as T,ta as Cr,tb as Dr,u as Et,ua as Ut,v as hr,w as He,z as W}from"./chunk-HNWRQABR.js";import{a as l,b as M}from"./chunk-EUDKD2JW.js";var f="primary",je=Symbol("RouteTitle"),$t=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function te(t){return new $t(t)}function Yr(t,n,e){let r=e.path.split("/");if(r.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||r.length<t.length))return null;let i={};for(let o=0;o<r.length;o++){let s=r[o],a=t[o];if(s[0]===":")i[s.substring(1)]=a;else if(s!==a.path)return null}return{consumed:t.slice(0,r.length),posParams:i}}function jn(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!j(t[e],n[e]))return!1;return!0}function j(t,n){let e=t?zt(t):void 0,r=n?zt(n):void 0;if(!e||!r||e.length!=r.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!Zr(t[i],n[i]))return!1;return!0}function zt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Zr(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;let e=[...t].sort(),r=[...n].sort();return e.every((i,o)=>r[o]===i)}else return t===n}function Jr(t){return t.length>0?t[t.length-1]:null}function H(t){return cr(t)?t:Er(t)?A(Promise.resolve(t)):h(t)}var kn={exact:en,subset:tn},Xr={exact:$n,subset:zn,ignored:()=>!0};function Br(t,n,e){return kn[e.paths](t.root,n.root,e.matrixParams)&&Xr[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function $n(t,n){return j(t,n)}function en(t,n,e){if(!X(t.segments,n.segments)||!Xe(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!en(t.children[r],n.children[r],e))return!1;return!0}function zn(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>Zr(t[e],n[e]))}function tn(t,n,e){return rn(t,n,n.segments,e)}function rn(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!X(i,e)||n.hasChildren()||!Xe(i,e,r))}else if(t.segments.length===e.length){if(!X(t.segments,e)||!Xe(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!tn(t.children[i],n.children[i],r))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!X(t.segments,i)||!Xe(t.segments,i,r)||!t.children[f]?!1:rn(t.children[f],n,o,r)}}function Xe(t,n,e){return n.every((r,i)=>Xr[e](t[i].parameters,r.parameters))}var $=class{root;queryParams;fragment;_queryParamMap;constructor(n=new p([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=te(this.queryParams),this._queryParamMap}toString(){return Bn.serialize(this)}},p=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return et(this)}},Q=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=te(this.parameters),this._parameterMap}toString(){return on(this)}};function Fn(t,n){return X(t,n)&&t.every((e,r)=>j(e.parameters,n[r].parameters))}function X(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function qn(t,n){let e=[];return Object.entries(t.children).forEach(([r,i])=>{r===f&&(e=e.concat(n(i,r)))}),Object.entries(t.children).forEach(([r,i])=>{r!==f&&(e=e.concat(n(i,r)))}),e}var ke=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>new re,providedIn:"root"})}return t})(),re=class{parse(n){let e=new qt(n);return new $(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${be(n.root,!0)}`,r=Wn(n.queryParams),i=typeof n.fragment=="string"?`#${Hn(n.fragment)}`:"";return`${e}${r}${i}`}},Bn=new re;function et(t){return t.segments.map(n=>on(n)).join("/")}function be(t,n){if(!t.hasChildren())return et(t);if(n){let e=t.children[f]?be(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${be(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=qn(t,(r,i)=>i===f?[be(t.children[f],!1)]:[`${i}:${be(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${et(t)}/${e[0]}`:`${et(t)}/(${e.join("//")})`}}function nn(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ze(t){return nn(t).replace(/%3B/gi,";")}function Hn(t){return encodeURI(t)}function Ft(t){return nn(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function tt(t){return decodeURIComponent(t)}function Hr(t){return tt(t.replace(/\+/g,"%20"))}function on(t){return`${Ft(t.path)}${Vn(t.parameters)}`}function Vn(t){return Object.entries(t).map(([n,e])=>`;${Ft(n)}=${Ft(e)}`).join("")}function Wn(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${Ze(e)}=${Ze(i)}`).join("&"):`${Ze(e)}=${Ze(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var Gn=/^[^\/()?;#]+/;function _t(t){let n=t.match(Gn);return n?n[0]:""}var Qn=/^[^\/()?;=#]+/;function Kn(t){let n=t.match(Qn);return n?n[0]:""}var Yn=/^[^=?&#]+/;function Zn(t){let n=t.match(Yn);return n?n[0]:""}var Jn=/^[^&#]+/;function Xn(t){let n=t.match(Jn);return n?n[0]:""}var qt=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new p([],{}):new p([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(r[f]=new p(n,e)),r}parseSegment(){let n=_t(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new S(4009,!1);return this.capture(n),new Q(tt(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=Kn(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=_t(this.remaining);i&&(r=i,this.capture(r))}n[tt(e)]=tt(r)}parseQueryParam(n){let e=Zn(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=Xn(this.remaining);s&&(r=s,this.capture(r))}let i=Hr(e),o=Hr(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let r=_t(this.remaining),i=this.remaining[r.length];if(i!=="/"&&i!==")"&&i!==";")throw new S(4010,!1);let o;r.indexOf(":")>-1?(o=r.slice(0,r.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=f);let s=this.parseChildren();e[o]=Object.keys(s).length===1?s[f]:new p([],s),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new S(4011,!1)}};function sn(t){return t.segments.length>0?new p([],{[f]:t}):t}function an(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=an(i);if(r===f&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let e=new p(t.segments,n);return ei(e)}function ei(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new p(t.segments.concat(n.segments),n.children)}return t}function K(t){return t instanceof $}function un(t,n,e=null,r=null){let i=cn(t);return ln(i,n,e,r)}function cn(t){let n;function e(o){let s={};for(let u of o.children){let c=e(u);s[u.outlet]=c}let a=new p(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=sn(r);return n??i}function ln(t,n,e,r){let i=t;for(;i.parent;)i=i.parent;if(n.length===0)return Lt(i,i,i,e,r);let o=ti(n);if(o.toRoot())return Lt(i,i,new p([],{}),e,r);let s=ri(o,i,t),a=s.processChildren?Ae(s.segmentGroup,s.index,o.commands):dn(s.segmentGroup,s.index,o.commands);return Lt(i,s.segmentGroup,a,e,r)}function rt(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Oe(t){return typeof t=="object"&&t!=null&&t.outlets}function Lt(t,n,e,r,i){let o={};r&&Object.entries(r).forEach(([u,c])=>{o[u]=Array.isArray(c)?c.map(g=>`${g}`):`${c}`});let s;t===n?s=e:s=hn(t,n,e);let a=sn(an(s));return new $(a,o,i)}function hn(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=hn(o,n,e)}),new p(t.segments,r)}var nt=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&rt(r[0]))throw new S(4003,!1);let i=r.find(Oe);if(i&&i!==Jr(r))throw new S(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function ti(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new nt(!0,0,t);let n=0,e=!1,r=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([u,c])=>{a[u]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,u)=>{u==0&&a==="."||(u==0&&a===""?e=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new nt(e,n,r)}var ce=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function ri(t,n,e){if(t.isAbsolute)return new ce(n,!0,0);if(!e)return new ce(n,!1,NaN);if(e.parent===null)return new ce(e,!0,0);let r=rt(t.commands[0])?0:1,i=e.segments.length-1+r;return ni(e,i,t.numberOfDoubleDots)}function ni(t,n,e){let r=t,i=n,o=e;for(;o>i;){if(o-=i,r=r.parent,!r)throw new S(4005,!1);i=r.segments.length}return new ce(r,!1,i-o)}function ii(t){return Oe(t[0])?t[0].outlets:{[f]:t}}function dn(t,n,e){if(t??=new p([],{}),t.segments.length===0&&t.hasChildren())return Ae(t,n,e);let r=oi(t,n,e),i=e.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){let o=new p(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new p(t.segments.slice(r.pathIndex),t.children),Ae(o,0,i)}else return r.match&&i.length===0?new p(t.segments,{}):r.match&&!t.hasChildren()?Bt(t,n,e):r.match?Ae(t,0,i):Bt(t,n,e)}function Ae(t,n,e){if(e.length===0)return new p(t.segments,{});{let r=ii(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=Ae(t.children[f],n,e);return new p(t.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=dn(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new p(t.segments,i)}}function oi(t,n,e){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=e.length)return o;let s=t.segments[i],a=e[r];if(Oe(a))break;let u=`${a}`,c=r<e.length-1?e[r+1]:null;if(i>0&&u===void 0)break;if(u&&c&&typeof c=="object"&&c.outlets===void 0){if(!Wr(u,c,s))return o;r+=2}else{if(!Wr(u,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function Bt(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(Oe(o)){let u=si(o.outlets);return new p(r,u)}if(i===0&&rt(e[0])){let u=t.segments[n];r.push(new Q(u.path,Vr(e[0]))),i++;continue}let s=Oe(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&rt(a)?(r.push(new Q(s,Vr(a))),i+=2):(r.push(new Q(s,{})),i++)}return new p(r,{})}function si(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=Bt(new p([],{}),0,r))}),n}function Vr(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function Wr(t,n,e){return t==e.path&&j(n,e.parameters)}var Te="imperative",m=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(m||{}),O=class{id;url;constructor(n,e){this.id=n,this.url=e}},ne=class extends O{type=m.NavigationStart;navigationTrigger;restoredState;constructor(n,e,r="imperative",i=null){super(n,e),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},L=class extends O{urlAfterRedirects;type=m.NavigationEnd;constructor(n,e,r){super(n,e),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},w=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t}(w||{}),Me=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(Me||{}),k=class extends O{reason;code;type=m.NavigationCancel;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},q=class extends O{reason;code;type=m.NavigationSkipped;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}},he=class extends O{error;target;type=m.NavigationError;constructor(n,e,r,i){super(n,e),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},De=class extends O{urlAfterRedirects;state;type=m.RoutesRecognized;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},it=class extends O{urlAfterRedirects;state;type=m.GuardsCheckStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ot=class extends O{urlAfterRedirects;state;shouldActivate;type=m.GuardsCheckEnd;constructor(n,e,r,i,o){super(n,e),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},st=class extends O{urlAfterRedirects;state;type=m.ResolveStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},at=class extends O{urlAfterRedirects;state;type=m.ResolveEnd;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ut=class{route;type=m.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},ct=class{route;type=m.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},lt=class{snapshot;type=m.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ht=class{snapshot;type=m.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},dt=class{snapshot;type=m.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ft=class{snapshot;type=m.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var Ne=class{},de=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function ai(t){return!(t instanceof Ne)&&!(t instanceof de)}function ui(t,n){return t.providers&&!t._injector&&(t._injector=xt(t.providers,n,`Route: ${t.path}`)),t._injector??n}function _(t){return t.outlet||f}function ci(t,n){let e=t.filter(r=>_(r)===n);return e.push(...t.filter(r=>_(r)!==n)),e}function ge(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){let e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var pt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return ge(this.route?.snapshot)??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new ve(this.rootInjector)}},ve=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,r){let i=this.getOrCreateContext(e);i.outlet=r,this.contexts.set(e,i)}onChildOutletDestroyed(e){let r=this.getContext(e);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let r=this.getContext(e);return r||(r=new pt(this.rootInjector),this.contexts.set(e,r)),r}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(r){return new(r||t)(We(se))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),gt=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=Ht(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=Ht(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=Vt(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return Vt(n,this._root).map(e=>e.value)}};function Ht(t,n){if(t===n.value)return n;for(let e of n.children){let r=Ht(t,e);if(r)return r}return null}function Vt(t,n){if(t===n.value)return[n];for(let e of n.children){let r=Vt(t,e);if(r.length)return r.unshift(n),r}return[]}var E=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function ue(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var Ue=class extends gt{snapshot;constructor(n,e){super(n),this.snapshot=e,Xt(this,n)}toString(){return this.snapshot.toString()}};function fn(t){let n=li(t),e=new D([new Q("",{})]),r=new D({}),i=new D({}),o=new D({}),s=new D(""),a=new B(e,r,o,s,i,f,t,n.root);return a.snapshot=n.root,new Ue(new E(a,[]),n)}function li(t){let n={},e={},r={},i="",o=new ee([],n,r,i,e,f,t,null,{});return new Pe("",new E(o,[]))}var B=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,r,i,o,s,a,u){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=u,this.title=this.dataSubject?.pipe(v(c=>c[je]))??h(void 0),this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(v(n=>te(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(v(n=>te(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function vt(t,n,e="emptyOnly"){let r,{routeConfig:i}=t;return n!==null&&(e==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:l(l({},n.params),t.params),data:l(l({},n.data),t.data),resolve:l(l(l(l({},t.data),n.data),i?.data),t._resolvedData)}:r={params:l({},t.params),data:l({},t.data),resolve:l(l({},t.data),t._resolvedData??{})},i&&gn(i)&&(r.resolve[je]=i.title),r}var ee=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[je]}constructor(n,e,r,i,o,s,a,u,c){this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=te(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=te(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},Pe=class extends gt{url;constructor(n,e){super(e),this.url=n,Xt(this,e)}toString(){return pn(this._root)}};function Xt(t,n){n.value._routerState=t,n.children.forEach(e=>Xt(t,e))}function pn(t){let n=t.children.length>0?` { ${t.children.map(pn).join(", ")} } `:"";return`${t.value}${n}`}function jt(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,j(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),j(n.params,e.params)||t.paramsSubject.next(e.params),jn(n.url,e.url)||t.urlSubject.next(e.url),j(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Wt(t,n){let e=j(t.params,n.params)&&Fn(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||Wt(t.parent,n.parent))}function gn(t){return typeof t.title=="string"||t.title===null}var vn=new N(""),er=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new J;deactivateEvents=new J;attachEvents=new J;detachEvents=new J;routerOutletData=$r(void 0);parentContexts=d(ve);location=d(br);changeDetector=d(Qe);inputBinder=d($e,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:r,previousValue:i}=e.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new S(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new S(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new S(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,r){this.activated=e,this._activatedRoute=r,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,r){if(this.isActivated)throw new S(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,u=new Gt(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:u,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=we({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Ce]})}return t})(),Gt=class{route;childContexts;parent;outletData;constructor(n,e,r,i){this.route=n,this.childContexts=e,this.parent=r,this.outletData=i}get(n,e){return n===B?this.route:n===ve?this.childContexts:n===vn?this.outletData:this.parent.get(n,e)}},$e=new N(""),tr=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:r}=e,i=Be([r.queryParams,r.params,r.data]).pipe(b(([o,s,a],u)=>(a=l(l(l({},o),s),a),u===0?h(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(e);return}let s=zr(r.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac})}return t})(),rr=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Ar({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Nr(0,"router-outlet")},dependencies:[er],encapsulation:2})}return t})();function nr(t){let n=t.children&&t.children.map(nr),e=n?M(l({},t),{children:n}):l({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=rr),e}function hi(t,n,e){let r=xe(t,n._root,e?e._root:void 0);return new Ue(r,n)}function xe(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=di(t,n,e);return new E(r,i)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>xe(t,a)),s}}let r=fi(n.value),i=n.children.map(o=>xe(t,o));return new E(r,i)}}function di(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return xe(t,r,i);return xe(t,r)})}function fi(t){return new B(new D(t.url),new D(t.params),new D(t.queryParams),new D(t.fragment),new D(t.data),t.outlet,t.component,t)}var fe=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},mn="ngNavigationCancelingError";function mt(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=K(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=Rn(!1,w.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function Rn(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[mn]=!0,e.cancellationCode=n,e}function pi(t){return yn(t)&&K(t.url)}function yn(t){return!!t&&t[mn]}var gi=(t,n,e,r)=>v(i=>(new Qt(n,i.targetRouterState,i.currentRouterState,e,r).activate(t),i)),Qt=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,r,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,r,n),jt(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=ue(e);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,r);else o&&this.deactivateRouteAndItsChildren(e,r)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ue(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ue(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,e,r){let i=ue(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new ft(o.value.snapshot))}),n.children.length&&this.forwardEvent(new ht(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(jt(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),jt(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},Rt=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},le=class{component;route;constructor(n,e){this.component=n,this.route=e}};function vi(t,n,e){let r=t._root,i=n?n._root:null;return Ie(r,i,e,[r.value])}function mi(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function me(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!gr(t)?t:n.get(t):r}function Ie(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=ue(n);return t.children.forEach(s=>{Ri(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>Ee(a,e.getContext(s),i)),i}function Ri(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let u=yi(s,o,o.routeConfig.runGuardsAndResolvers);u?i.canActivateChecks.push(new Rt(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Ie(t,n,a?a.children:null,r,i):Ie(t,n,e,r,i),u&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new le(a.outlet.component,s))}else s&&Ee(n,a,i),i.canActivateChecks.push(new Rt(r)),o.component?Ie(t,null,a?a.children:null,r,i):Ie(t,null,e,r,i);return i}function yi(t,n,e){if(typeof e=="function")return e(t,n);switch(e){case"pathParamsChange":return!X(t.url,n.url);case"pathParamsOrQueryParamsChange":return!X(t.url,n.url)||!j(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Wt(t,n)||!j(t.queryParams,n.queryParams);case"paramsChange":default:return!Wt(t,n)}}function Ee(t,n,e){let r=ue(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?Ee(s,n.children.getContext(o),e):Ee(s,null,e):Ee(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new le(n.outlet.component,i)):e.canDeactivateChecks.push(new le(null,i)):e.canDeactivateChecks.push(new le(null,i))}function ze(t){return typeof t=="function"}function Si(t){return typeof t=="boolean"}function Ci(t){return t&&ze(t.canLoad)}function wi(t){return t&&ze(t.canActivate)}function bi(t){return t&&ze(t.canActivateChild)}function Ii(t){return t&&ze(t.canDeactivate)}function Ai(t){return t&&ze(t.canMatch)}function Sn(t){return t instanceof lr||t?.name==="EmptyError"}var Je=Symbol("INITIAL_VALUE");function pe(){return b(t=>Be(t.map(n=>n.pipe(oe(1),pr(Je)))).pipe(v(n=>{for(let e of n)if(e!==!0){if(e===Je)return Je;if(e===!1||Ti(e))return e}return!0}),W(n=>n!==Je),oe(1)))}function Ti(t){return K(t)||t instanceof fe}function Ei(t,n){return T(e=>{let{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=e;return s.length===0&&o.length===0?h(M(l({},e),{guardsResult:!0})):Oi(s,r,i,t).pipe(T(a=>a&&Si(a)?Mi(r,o,t,n):h(a)),v(a=>M(l({},e),{guardsResult:a})))})}function Oi(t,n,e,r){return A(t).pipe(T(i=>xi(i.component,i.route,e,n,r)),G(i=>i!==!0,!0))}function Mi(t,n,e,r){return A(n).pipe(ie(i=>hr(Ni(i.route.parent,r),Di(i.route,r),Pi(t,i.path,e),Ui(t,i.route,e))),G(i=>i!==!0,!0))}function Di(t,n){return t!==null&&n&&n(new dt(t)),h(!0)}function Ni(t,n){return t!==null&&n&&n(new lt(t)),h(!0)}function Ui(t,n,e){let r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||r.length===0)return h(!0);let i=r.map(o=>He(()=>{let s=ge(n)??e,a=me(o,s),u=wi(a)?a.canActivate(n,t):P(s,()=>a(n,t));return H(u).pipe(G())}));return h(i).pipe(pe())}function Pi(t,n,e){let r=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>mi(s)).filter(s=>s!==null).map(s=>He(()=>{let a=s.guards.map(u=>{let c=ge(s.node)??e,g=me(u,c),R=bi(g)?g.canActivateChild(r,t):P(c,()=>g(r,t));return H(R).pipe(G())});return h(a).pipe(pe())}));return h(o).pipe(pe())}function xi(t,n,e,r,i){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return h(!0);let s=o.map(a=>{let u=ge(n)??i,c=me(a,u),g=Ii(c)?c.canDeactivate(t,n,e,r):P(u,()=>c(t,n,e,r));return H(g).pipe(G())});return h(s).pipe(pe())}function _i(t,n,e,r){let i=n.canLoad;if(i===void 0||i.length===0)return h(!0);let o=i.map(s=>{let a=me(s,t),u=Ci(a)?a.canLoad(n,e):P(t,()=>a(n,e));return H(u)});return h(o).pipe(pe(),Cn(r))}function Cn(t){return ar(y(n=>{if(typeof n!="boolean")throw mt(t,n)}),v(n=>n===!0))}function Li(t,n,e,r){let i=n.canMatch;if(!i||i.length===0)return h(!0);let o=i.map(s=>{let a=me(s,t),u=Ai(a)?a.canMatch(n,e):P(t,()=>a(n,e));return H(u)});return h(o).pipe(pe(),Cn(r))}var _e=class{segmentGroup;constructor(n){this.segmentGroup=n||null}},Le=class extends Error{urlTree;constructor(n){super(),this.urlTree=n}};function ae(t){return Se(new _e(t))}function ji(t){return Se(new S(4e3,!1))}function ki(t){return Se(Rn(!1,w.GuardRejected))}var Kt=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){let r=[],i=e.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return h(r);if(i.numberOfChildren>1||!i.children[f])return ji(`${n.redirectTo}`);i=i.children[f]}}applyRedirectCommands(n,e,r,i,o){return $i(e,i,o).pipe(v(s=>{if(s instanceof $)throw new Le(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new Le(a);return a}))}applyRedirectCreateUrlTree(n,e,r,i){let o=this.createSegmentGroup(n,e.root,r,i);return new $(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=e[a]}else r[i]=o}),r}createSegmentGroup(n,e,r,i){let o=this.createSegments(n,e.segments,r,i),s={};return Object.entries(e.children).forEach(([a,u])=>{s[a]=this.createSegmentGroup(n,u,r,i)}),new p(o,s)}createSegments(n,e,r,i){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,e,r){let i=r[e.path.substring(1)];if(!i)throw new S(4001,!1);return i}findOrReturn(n,e){let r=0;for(let i of e){if(i.path===n.path)return e.splice(r),i;r++}return n}};function $i(t,n,e){if(typeof t=="string")return h(t);let r=t,{queryParams:i,fragment:o,routeConfig:s,url:a,outlet:u,params:c,data:g,title:R}=n;return H(P(e,()=>r({params:c,data:g,queryParams:i,fragment:o,routeConfig:s,url:a,outlet:u,title:R})))}var Yt={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function zi(t,n,e,r,i){let o=wn(t,n,e);return o.matched?(r=ui(n,r),Li(r,n,e,i).pipe(v(s=>s===!0?o:l({},Yt)))):h(o)}function wn(t,n,e){if(n.path==="**")return Fi(e);if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?l({},Yt):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||Yr)(e,t,n);if(!i)return l({},Yt);let o={};Object.entries(i.posParams??{}).forEach(([a,u])=>{o[a]=u.path});let s=i.consumed.length>0?l(l({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function Fi(t){return{matched:!0,parameters:t.length>0?Jr(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function Gr(t,n,e,r){return e.length>0&&Hi(t,e,r)?{segmentGroup:new p(n,Bi(r,new p(e,t.children))),slicedSegments:[]}:e.length===0&&Vi(t,e,r)?{segmentGroup:new p(t.segments,qi(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new p(t.segments,t.children),slicedSegments:e}}function qi(t,n,e,r){let i={};for(let o of e)if(St(t,n,o)&&!r[_(o)]){let s=new p([],{});i[_(o)]=s}return l(l({},r),i)}function Bi(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&_(r)!==f){let i=new p([],{});e[_(r)]=i}return e}function Hi(t,n,e){return e.some(r=>St(t,n,r)&&_(r)!==f)}function Vi(t,n,e){return e.some(r=>St(t,n,r))}function St(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Wi(t,n,e){return n.length===0&&!t.children[e]}var Zt=class{};function Gi(t,n,e,r,i,o,s="emptyOnly"){return new Jt(t,n,e,r,i,s,o).recognize()}var Qi=31,Jt=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,r,i,o,s,a){this.injector=n,this.configLoader=e,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new Kt(this.urlSerializer,this.urlTree)}noMatchError(n){return new S(4002,`'${n.segmentGroup}'`)}recognize(){let n=Gr(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(v(({children:e,rootSnapshot:r})=>{let i=new E(r,e),o=new Pe("",i),s=un(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(n){let e=new ee([],Object.freeze({}),Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),f,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,f,e).pipe(v(r=>({children:r,rootSnapshot:e})),Z(r=>{if(r instanceof Le)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof _e?this.noMatchError(r):r}))}processSegmentGroup(n,e,r,i,o){return r.segments.length===0&&r.hasChildren()?this.processChildren(n,e,r,o):this.processSegment(n,e,r,r.segments,i,!0,o).pipe(v(s=>s instanceof E?[s]:[]))}processChildren(n,e,r,i){let o=[];for(let s of Object.keys(r.children))s==="primary"?o.unshift(s):o.push(s);return A(o).pipe(ie(s=>{let a=r.children[s],u=ci(e,s);return this.processSegmentGroup(n,u,a,s,i)}),fr((s,a)=>(s.push(...a),s)),Ot(null),dr(),T(s=>{if(s===null)return ae(r);let a=bn(s);return Ki(a),h(a)}))}processSegment(n,e,r,i,o,s,a){return A(e).pipe(ie(u=>this.processSegmentAgainstRoute(u._injector??n,e,u,r,i,o,s,a).pipe(Z(c=>{if(c instanceof _e)return h(null);throw c}))),G(u=>!!u),Z(u=>{if(Sn(u))return Wi(r,i,o)?h(new Zt):ae(r);throw u}))}processSegmentAgainstRoute(n,e,r,i,o,s,a,u){return _(r)!==s&&(s===f||!St(i,o,r))?ae(i):r.redirectTo===void 0?this.matchSegmentAgainstRoute(n,i,r,o,s,u):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,i,e,r,o,s,u):ae(i)}expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){let{matched:u,parameters:c,consumedSegments:g,positionalParamSegments:R,remainingSegments:U}=wn(e,i,o);if(!u)return ae(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Qi&&(this.allowRedirects=!1));let V=new ee(o,c,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Qr(i),_(i),i.component??i._loadedComponent??null,i,Kr(i)),I=vt(V,a,this.paramsInheritanceStrategy);return V.params=Object.freeze(I.params),V.data=Object.freeze(I.data),this.applyRedirects.applyRedirectCommands(g,i.redirectTo,R,V,n).pipe(b(Y=>this.applyRedirects.lineralizeSegments(i,Y)),T(Y=>this.processSegment(n,r,e,Y.concat(U),s,!1,a)))}matchSegmentAgainstRoute(n,e,r,i,o,s){let a=zi(e,r,i,n,this.urlSerializer);return r.path==="**"&&(e.children={}),a.pipe(b(u=>u.matched?(n=r._injector??n,this.getChildConfig(n,r,i).pipe(b(({routes:c})=>{let g=r._loadedInjector??n,{parameters:R,consumedSegments:U,remainingSegments:V}=u,I=new ee(U,R,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Qr(r),_(r),r.component??r._loadedComponent??null,r,Kr(r)),bt=vt(I,s,this.paramsInheritanceStrategy);I.params=Object.freeze(bt.params),I.data=Object.freeze(bt.data);let{segmentGroup:Y,slicedSegments:It}=Gr(e,U,V,c);if(It.length===0&&Y.hasChildren())return this.processChildren(g,c,Y,I).pipe(v(qe=>new E(I,qe)));if(c.length===0&&It.length===0)return h(new E(I,[]));let _n=_(r)===o;return this.processSegment(g,c,Y,It,_n?f:o,!0,I).pipe(v(qe=>new E(I,qe instanceof E?[qe]:[])))}))):ae(e)))}getChildConfig(n,e,r){return e.children?h({routes:e.children,injector:n}):e.loadChildren?e._loadedRoutes!==void 0?h({routes:e._loadedRoutes,injector:e._loadedInjector}):_i(n,e,r,this.urlSerializer).pipe(T(i=>i?this.configLoader.loadChildren(n,e).pipe(y(o=>{e._loadedRoutes=o.routes,e._loadedInjector=o.injector})):ki(e))):h({routes:[],injector:n})}};function Ki(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function Yi(t){let n=t.value.routeConfig;return n&&n.path===""}function bn(t){let n=[],e=new Set;for(let r of t){if(!Yi(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),e.add(i)):n.push(r)}for(let r of e){let i=bn(r.children);n.push(new E(r.value,i))}return n.filter(r=>!e.has(r))}function Qr(t){return t.data||{}}function Kr(t){return t.resolve||{}}function Zi(t,n,e,r,i,o){return T(s=>Gi(t,n,e,r,s.extractedUrl,i,o).pipe(v(({state:a,tree:u})=>M(l({},s),{targetSnapshot:a,urlAfterRedirects:u}))))}function Ji(t,n){return T(e=>{let{targetSnapshot:r,guards:{canActivateChecks:i}}=e;if(!i.length)return h(e);let o=new Set(i.map(u=>u.route)),s=new Set;for(let u of o)if(!s.has(u))for(let c of In(u))s.add(c);let a=0;return A(s).pipe(ie(u=>o.has(u)?Xi(u,r,t,n):(u.data=vt(u,u.parent,t).resolve,h(void 0))),y(()=>a++),Mt(1),T(u=>a===s.size?h(e):F))})}function In(t){let n=t.children.map(e=>In(e)).flat();return[t,...n]}function Xi(t,n,e,r){let i=t.routeConfig,o=t._resolve;return i?.title!==void 0&&!gn(i)&&(o[je]=i.title),He(()=>(t.data=vt(t,t.parent,e).resolve,eo(o,t,n,r).pipe(v(s=>(t._resolvedData=s,t.data=l(l({},t.data),s),null)))))}function eo(t,n,e,r){let i=zt(t);if(i.length===0)return h({});let o={};return A(i).pipe(T(s=>to(t[s],n,e,r).pipe(G(),y(a=>{if(a instanceof fe)throw mt(new re,a);o[s]=a}))),Mt(1),v(()=>o),Z(s=>Sn(s)?F:Se(s)))}function to(t,n,e,r){let i=ge(n)??r,o=me(t,i),s=o.resolve?o.resolve(n,e):P(i,()=>o(n,e));return H(s)}function kt(t){return b(n=>{let e=t(n);return e?A(e).pipe(v(()=>n)):h(n)})}var ir=(()=>{class t{buildTitle(e){let r,i=e.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===f);return r}getResolvedTitleForRoute(e){return e.data[je]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>d(An),providedIn:"root"})}return t})(),An=(()=>{class t extends ir{title;constructor(e){super(),this.title=e}updateTitle(e){let r=this.buildTitle(e);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||t)(We(qr))};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Re=new N("",{providedIn:"root",factory:()=>({})}),Fe=new N(""),Tn=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=d(Lr);loadComponent(e,r){if(this.componentLoaders.get(r))return this.componentLoaders.get(r);if(r._loadedComponent)return h(r._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(r);let i=H(P(e,()=>r.loadComponent())).pipe(v(On),b(Mn),y(s=>{this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s}),Ve(()=>{this.componentLoaders.delete(r)})),o=new Tt(i,()=>new z).pipe(At());return this.componentLoaders.set(r,o),o}loadChildren(e,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return h({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let o=En(r,this.compiler,e,this.onLoadEndListener).pipe(Ve(()=>{this.childrenLoaders.delete(r)})),s=new Tt(o,()=>new z).pipe(At());return this.childrenLoaders.set(r,s),s}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function En(t,n,e,r){return H(P(e,()=>t.loadChildren())).pipe(v(On),b(Mn),T(i=>i instanceof Ir||Array.isArray(i)?h(i):A(n.compileModuleAsync(i))),v(i=>{r&&r(t);let o,s,a=!1;return Array.isArray(i)?(s=i,a=!0):(o=i.create(e).injector,s=o.get(Fe,[],{optional:!0,self:!0}).flat()),{routes:s.map(nr),injector:o}}))}function ro(t){return t&&typeof t=="object"&&"default"in t}function On(t){return ro(t)?t.default:t}function Mn(t){return h(t)}var Ct=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>d(no),providedIn:"root"})}return t})(),no=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,r){return e}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Dn=new N("");var Nn=new N(""),Un=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new z;transitionAbortWithErrorSubject=new z;configLoader=d(Tn);environmentInjector=d(se);destroyRef=d(Rr);urlSerializer=d(ke);rootContexts=d(ve);location=d(Ye);inputBindingEnabled=d($e,{optional:!0})!==null;titleStrategy=d(ir);options=d(Re,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=d(Ct);createViewTransition=d(Dn,{optional:!0});navigationErrorHandler=d(Nn,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>h(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new ut(i)),r=i=>this.events.next(new ct(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let r=++this.navigationId;this.transitions?.next(M(l({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,abortController:new AbortController,id:r}))}setupNavigations(e){return this.transitions=new D(null),this.transitions.pipe(W(r=>r!==null),b(r=>{let i=!1;return h(r).pipe(b(o=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",w.SupersededByNewNavigation),F;this.currentTransition=r,this.currentNavigation={id:o.id,initialUrl:o.rawUrl,extractedUrl:o.extractedUrl,targetBrowserUrl:typeof o.extras.browserUrl=="string"?this.urlSerializer.parse(o.extras.browserUrl):o.extras.browserUrl,trigger:o.source,extras:o.extras,previousNavigation:this.lastSuccessfulNavigation?M(l({},this.lastSuccessfulNavigation),{previousNavigation:null}):null,abort:()=>o.abortController.abort()};let s=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),a=o.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!s&&a!=="reload"){let u="";return this.events.next(new q(o.id,this.urlSerializer.serialize(o.rawUrl),u,Me.IgnoredSameUrlNavigation)),o.resolve(!1),F}if(this.urlHandlingStrategy.shouldProcessUrl(o.rawUrl))return h(o).pipe(b(u=>(this.events.next(new ne(u.id,this.urlSerializer.serialize(u.extractedUrl),u.source,u.restoredState)),u.id!==this.navigationId?F:Promise.resolve(u))),Zi(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),y(u=>{r.targetSnapshot=u.targetSnapshot,r.urlAfterRedirects=u.urlAfterRedirects,this.currentNavigation=M(l({},this.currentNavigation),{finalUrl:u.urlAfterRedirects});let c=new De(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(c)}));if(s&&this.urlHandlingStrategy.shouldProcessUrl(o.currentRawUrl)){let{id:u,extractedUrl:c,source:g,restoredState:R,extras:U}=o,V=new ne(u,this.urlSerializer.serialize(c),g,R);this.events.next(V);let I=fn(this.rootComponentType).snapshot;return this.currentTransition=r=M(l({},o),{targetSnapshot:I,urlAfterRedirects:c,extras:M(l({},U),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=c,h(r)}else{let u="";return this.events.next(new q(o.id,this.urlSerializer.serialize(o.extractedUrl),u,Me.IgnoredByUrlHandlingStrategy)),o.resolve(!1),F}}),y(o=>{let s=new it(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot);this.events.next(s)}),v(o=>(this.currentTransition=r=M(l({},o),{guards:vi(o.targetSnapshot,o.currentSnapshot,this.rootContexts)}),r)),Ei(this.environmentInjector,o=>this.events.next(o)),y(o=>{if(r.guardsResult=o.guardsResult,o.guardsResult&&typeof o.guardsResult!="boolean")throw mt(this.urlSerializer,o.guardsResult);let s=new ot(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot,!!o.guardsResult);this.events.next(s)}),W(o=>o.guardsResult?!0:(this.cancelNavigationTransition(o,"",w.GuardRejected),!1)),kt(o=>{if(o.guards.canActivateChecks.length!==0)return h(o).pipe(y(s=>{let a=new st(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),b(s=>{let a=!1;return h(s).pipe(Ji(this.paramsInheritanceStrategy,this.environmentInjector),y({next:()=>a=!0,complete:()=>{a||this.cancelNavigationTransition(s,"",w.NoDataFromResolver)}}))}),y(s=>{let a=new at(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}))}),kt(o=>{let s=a=>{let u=[];if(a.routeConfig?.loadComponent&&!a.routeConfig._loadedComponent){let c=ge(a)??this.environmentInjector;u.push(this.configLoader.loadComponent(c,a.routeConfig).pipe(y(g=>{a.component=g}),v(()=>{})))}for(let c of a.children)u.push(...s(c));return u};return Be(s(o.targetSnapshot.root)).pipe(Ot(null),oe(1))}),kt(()=>this.afterPreactivation()),b(()=>{let{currentSnapshot:o,targetSnapshot:s}=r,a=this.createViewTransition?.(this.environmentInjector,o.root,s.root);return a?A(a).pipe(v(()=>r)):h(r)}),v(o=>{let s=hi(e.routeReuseStrategy,o.targetSnapshot,o.currentRouterState);return this.currentTransition=r=M(l({},o),{targetRouterState:s}),this.currentNavigation.targetRouterState=s,r}),y(()=>{this.events.next(new Ne)}),gi(this.rootContexts,e.routeReuseStrategy,o=>this.events.next(o),this.inputBindingEnabled),oe(1),Dt(new ur(o=>{let s=r.abortController.signal,a=()=>o.next();return s.addEventListener("abort",a),()=>s.removeEventListener("abort",a)}).pipe(W(()=>!i&&!r.targetRouterState),y(()=>{this.cancelNavigationTransition(r,r.abortController.signal.reason+"",w.Aborted)}))),y({next:o=>{i=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new L(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects))),this.titleStrategy?.updateTitle(o.targetRouterState.snapshot),o.resolve(!0)},complete:()=>{i=!0}}),Dt(this.transitionAbortWithErrorSubject.pipe(y(o=>{throw o}))),Ve(()=>{i||this.cancelNavigationTransition(r,"",w.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation=null,this.currentTransition=null)}),Z(o=>{if(this.destroyed)return r.resolve(!1),F;if(i=!0,yn(o))this.events.next(new k(r.id,this.urlSerializer.serialize(r.extractedUrl),o.message,o.cancellationCode)),pi(o)?this.events.next(new de(o.url,o.navigationBehaviorOptions)):r.resolve(!1);else{let s=new he(r.id,this.urlSerializer.serialize(r.extractedUrl),o,r.targetSnapshot??void 0);try{let a=P(this.environmentInjector,()=>this.navigationErrorHandler?.(s));if(a instanceof fe){let{message:u,cancellationCode:c}=mt(this.urlSerializer,a);this.events.next(new k(r.id,this.urlSerializer.serialize(r.extractedUrl),u,c)),this.events.next(new de(a.redirectTo,a.navigationBehaviorOptions))}else throw this.events.next(s),o}catch(a){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(a)}}return F}))}))}cancelNavigationTransition(e,r,i){let o=new k(e.id,this.urlSerializer.serialize(e.extractedUrl),r,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return e.toString()!==r?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function io(t){return t!==Te}var Pn=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>d(oo),providedIn:"root"})}return t})(),yt=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}},oo=(()=>{class t extends yt{static \u0275fac=(()=>{let e;return function(i){return(e||(e=Nt(t)))(i||t)}})();static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),xn=(()=>{class t{urlSerializer=d(ke);options=d(Re,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=d(Ye);urlHandlingStrategy=d(Ct);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new $;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:r,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,r):r,s=i??o;return s instanceof $?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:r,initialUrl:i}){r&&e?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=e):this.rawUrlTree=i}routerState=fn(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();updateStateMemento(){this.stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:()=>d(so),providedIn:"root"})}return t})(),so=(()=>{class t extends xn{currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{e(r.url,r.state,"popstate")})})}handleRouterEvent(e,r){e instanceof ne?this.updateStateMemento():e instanceof q?this.commitTransition(r):e instanceof De?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof Ne?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof k&&e.code!==w.SupersededByNewNavigation&&e.code!==w.Redirect?this.restoreHistory(r):e instanceof he?this.restoreHistory(r,!0):e instanceof L&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,u=l(l({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",u)}else{let a=l(l({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,r){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:r}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Nt(t)))(i||t)}})();static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function or(t,n){t.events.pipe(W(e=>e instanceof L||e instanceof k||e instanceof he||e instanceof q),v(e=>e instanceof L||e instanceof q?0:(e instanceof k?e.code===w.Redirect||e.code===w.SupersededByNewNavigation:!1)?2:1),W(e=>e!==2),oe(1)).subscribe(()=>{n()})}var ao={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},uo={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},ye=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=d(Tr);stateManager=d(xn);options=d(Re,{optional:!0})||{};pendingTasks=d(Sr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=d(Un);urlSerializer=d(ke);location=d(Ye);urlHandlingStrategy=d(Ct);injector=d(se);_events=new z;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=d(Pn);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=d(Fe,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!d($e,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}eventsSubscription=new sr;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=this.navigationTransitions.currentNavigation;if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof k&&r.code!==w.Redirect&&r.code!==w.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof L)this.navigated=!0;else if(r instanceof de){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),u=l({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||io(i.source)},s);this.scheduleNavigation(a,Te,null,u,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}ai(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Te,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,r,i)=>{this.navigateToSyncWithBrowser(e,i,r)})}navigateToSyncWithBrowser(e,r,i){let o={replaceUrl:!0},s=i?.navigationId?i:null;if(i){let u=l({},i);delete u.navigationId,delete u.\u0275routerPageId,Object.keys(u).length!==0&&(o.state=u)}let a=this.parseUrl(e);this.scheduleNavigation(a,r,s,o).catch(u=>{this.disposed||this.injector.get(Ge)(u)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(nr),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:u}=r,c=u?this.currentUrlTree.fragment:s,g=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":g=l(l({},this.currentUrlTree.queryParams),o);break;case"preserve":g=this.currentUrlTree.queryParams;break;default:g=o||null}g!==null&&(g=this.removeEmptyProps(g));let R;try{let U=i?i.snapshot:this.routerState.snapshot.root;R=cn(U)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),R=this.currentUrlTree.root}return ln(R,e,g,c??null)}navigateByUrl(e,r={skipLocationChange:!1}){let i=K(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Te,null,r)}navigate(e,r={skipLocationChange:!1}){return co(e),this.navigateByUrl(this.createUrlTree(e,r),r)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.urlSerializer.parse("/")}}isActive(e,r){let i;if(r===!0?i=l({},ao):r===!1?i=l({},uo):i=r,K(e))return Br(this.currentUrlTree,e,i);let o=this.parseUrl(e);return Br(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(e,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,u,c;s?(a=s.resolve,u=s.reject,c=s.promise):c=new Promise((R,U)=>{a=R,u=U});let g=this.pendingTasks.add();return or(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(g))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(R=>Promise.reject(R))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=C({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function co(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new S(4008,!1)}var wt=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;reactiveHref=yr(null);get href(){return jr(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new z;applicationErrorHandler=d(Ge);options=d(Re,{optional:!0});constructor(e,r,i,o,s,a){this.router=e,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a,this.reactiveHref.set(d(new kr("href"),{optional:!0}));let u=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=u==="a"||u==="area"||!!(typeof customElements=="object"&&customElements.get(u)?.observedAttributes?.includes?.("href")),this.isAnchorElement?this.setTabIndexIfNotOnNativeEl("0"):this.subscribeToNavigationEventsIfNecessary()}subscribeToNavigationEventsIfNecessary(){if(this.subscription!==void 0||!this.isAnchorElement)return;let e=this.preserveFragment,r=i=>i==="merge"||i==="preserve";e||=r(this.queryParamsHandling),e||=!this.queryParamsHandling&&!r(this.options?.defaultQueryParamsHandling),e&&(this.subscription=this.router.events.subscribe(i=>{i instanceof L&&this.updateHref()}))}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&(this.updateHref(),this.subscribeToNavigationEventsIfNecessary()),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(K(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,r,i,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(e!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let u={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,u)?.catch(c=>{this.applicationErrorHandler(c)}),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.reactiveHref.set(e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null)}applyAttributeValue(e,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,e,r):i.removeAttribute(o,e)}get urlTree(){return this.routerLinkInput===null?null:K(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(r){return new(r||t)(x(ye),x(B),Cr("tabindex"),x(Pt),x(Ut),x(Fr))};static \u0275dir=we({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&Ur("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Dr("href",i.reactiveHref(),wr)("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Ke],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Ke],replaceUrl:[2,"replaceUrl","replaceUrl",Ke],routerLink:"routerLink"},features:[Ce]})}return t})(),ho=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new J;constructor(e,r,i,o,s){this.router=e,this.element=r,this.renderer=i,this.cdr=o,this.link=s,this.routerEventsSubscription=e.events.subscribe(a=>{a instanceof L&&this.update()})}ngAfterContentInit(){h(this.links.changes,h(null)).pipe(Et()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=A(e).pipe(Et()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(e){let r=Array.isArray(e)?e:e.split(" ");this.classes=r.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(r=>{e?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let r=fo(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let o=i.urlTree;return o?e.isActive(o,r):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(r){return new(r||t)(x(ye),x(Ut),x(Pt),x(Qe),x(wt,8))};static \u0275dir=we({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,o){if(r&1&&Pr(o,wt,5),r&2){let s;xr(s=_r())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Ce]})}return t})();function fo(t){return!!t.paths}var po=new N("");function go(t,...n){return vr([{provide:Fe,multi:!0,useValue:t},[],{provide:B,useFactory:vo,deps:[ye]},{provide:Or,multi:!0,useFactory:Ro},n.map(e=>e.\u0275providers)])}function vo(t){return t.routerState.root}function mo(t,n){return{\u0275kind:t,\u0275providers:n}}function Ro(){let t=d(mr);return n=>{let e=t.get(Mr);if(n!==e.components[0])return;let r=t.get(ye),i=t.get(yo);t.get(So)===1&&r.initialNavigation(),t.get(Co,null,{optional:!0})?.setUpPreloading(),t.get(po,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var yo=new N("",{factory:()=>new z}),So=new N("",{providedIn:"root",factory:()=>1});var Co=new N("");function wo(){return mo(8,[tr,{provide:$e,useExisting:tr}])}export{L as a,B as b,er as c,ye as d,wt as e,ho as f,go as g,wo as h};
|