@duplicati/ngclient 0.0.103 → 0.0.105

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.
Files changed (119) hide show
  1. package/assets/spk-bold.woff2 +0 -0
  2. package/chunk-2HUZWRPM.js +1 -0
  3. package/{chunk-73FGPZLT.js → chunk-2WMFHNHQ.js} +1 -1
  4. package/chunk-3MVGDMRL.js +1 -0
  5. package/{chunk-7NSKVKO7.js → chunk-47X3OGYT.js} +1 -1
  6. package/chunk-4LYA3XAH.js +1 -0
  7. package/chunk-4PUCRV6F.js +1 -0
  8. package/chunk-5H7QZHN7.js +2 -0
  9. package/chunk-5LODOOQE.js +1 -0
  10. package/{chunk-YC7JUCYS.js → chunk-5VR5J6BY.js} +1 -1
  11. package/{chunk-Y5T3G6PP.js → chunk-6DH6O5YE.js} +1 -1
  12. package/{chunk-POO6N4RH.js → chunk-6U42RKWI.js} +1 -1
  13. package/chunk-7EYE3BSS.js +1 -0
  14. package/{chunk-ARQ6YMHX.js → chunk-7L42EO7J.js} +1 -1
  15. package/chunk-7UQE266G.js +4 -0
  16. package/chunk-BEXTTKFK.js +1 -0
  17. package/chunk-CETM57LL.js +1 -0
  18. package/{chunk-2IDHF5MN.js → chunk-CKPICCFH.js} +1 -1
  19. package/{chunk-FQMZSQUI.js → chunk-DE4NDI5F.js} +1 -1
  20. package/chunk-E6VGAA7Q.js +1 -0
  21. package/{chunk-N35UIMLP.js → chunk-FROEBZRG.js} +1 -1
  22. package/{chunk-C4IFBLYB.js → chunk-FSGJ5KIH.js} +1 -1
  23. package/chunk-G432CCD5.js +1 -0
  24. package/chunk-GOTRUTIB.js +1 -0
  25. package/chunk-HN4MKGHV.js +1 -0
  26. package/{chunk-NYZVIDDD.js → chunk-HTNYQE2B.js} +1 -1
  27. package/{chunk-PX25CWH6.js → chunk-I3C2AEHI.js} +1 -1
  28. package/{chunk-HPSQUH4S.js → chunk-IXM6PMZU.js} +1 -1
  29. package/chunk-J4KNSP44.js +1 -0
  30. package/{chunk-OP5UYIDM.js → chunk-JAYNAMCB.js} +1 -1
  31. package/{chunk-HFKG5ODC.js → chunk-JCXYUHPV.js} +1 -1
  32. package/chunk-JKOCS4GE.js +1 -0
  33. package/chunk-JLBV3QXT.js +1 -0
  34. package/{chunk-UKQTVYRS.js → chunk-JQPXZWKR.js} +1 -1
  35. package/chunk-KFU7HSAL.js +1 -0
  36. package/{chunk-UO57IKTF.js → chunk-KSP3JQHY.js} +1 -1
  37. package/chunk-L4CVN3UF.js +1 -0
  38. package/chunk-LD2OSURG.js +1 -0
  39. package/chunk-M4YSJR2J.js +1 -0
  40. package/{chunk-TKVTCBLW.js → chunk-MZ473NLM.js} +1 -1
  41. package/chunk-NF5EQK5W.js +1 -0
  42. package/chunk-NTVLL6TO.js +1 -0
  43. package/{chunk-ZVBVR6H4.js → chunk-O2YN63YI.js} +1 -1
  44. package/chunk-O7DK2M4U.js +1 -0
  45. package/chunk-OUD6FSMZ.js +1 -0
  46. package/chunk-P5KOELKA.js +1 -0
  47. package/{chunk-OD5LGCQE.js → chunk-PFYOWXZZ.js} +1 -1
  48. package/{chunk-DYCJPQSE.js → chunk-PTDSOPNK.js} +1 -1
  49. package/chunk-QO6SPSAF.js +8 -0
  50. package/chunk-QVIZK4WW.js +1 -0
  51. package/{chunk-W2OVJAGT.js → chunk-QWIDEDE7.js} +1 -1
  52. package/{chunk-B7AEDFNS.js → chunk-RP6N6NQM.js} +1 -1
  53. package/{chunk-IYJFFIHQ.js → chunk-RVCYNHAQ.js} +1 -1
  54. package/chunk-SAVY3OEX.js +1 -0
  55. package/chunk-SHOSAHEC.js +1 -0
  56. package/chunk-SITZCHGF.js +1 -0
  57. package/chunk-SZ64OOBT.js +1 -0
  58. package/{chunk-QTTYDT3P.js → chunk-T2OUHRUV.js} +1 -1
  59. package/{chunk-U34D3G4S.js → chunk-TPWSQH24.js} +1 -1
  60. package/chunk-TQGG56ZZ.js +1 -0
  61. package/{chunk-DHVICIXP.js → chunk-U2HORYSZ.js} +1 -1
  62. package/chunk-VAOJO535.js +1 -0
  63. package/{chunk-YRQ33MKD.js → chunk-VN7JM6M3.js} +1 -1
  64. package/{chunk-KEHATBLP.js → chunk-VOGYVLLM.js} +1 -1
  65. package/{chunk-GM25ACCR.js → chunk-W2F756OF.js} +4 -4
  66. package/{chunk-LU6KVNOT.js → chunk-W2VC37XO.js} +1 -1
  67. package/chunk-WHVFYB7T.js +1 -0
  68. package/{chunk-BIHIR35J.js → chunk-WMTA6PZM.js} +1 -1
  69. package/chunk-WSFEYRKT.js +3 -0
  70. package/{chunk-6WLXFV43.js → chunk-WX7L7V6J.js} +1 -1
  71. package/chunk-XG7KYN67.js +1 -0
  72. package/{chunk-OPC7T2MU.js → chunk-XJXOUOD5.js} +1 -1
  73. package/{chunk-K4BJJNFG.js → chunk-XY5EWT4P.js} +1 -1
  74. package/{chunk-R5DUA6AR.js → chunk-YDRXW35Y.js} +1 -1
  75. package/chunk-YF5K7PNR.js +1 -0
  76. package/chunk-YWCTOOED.js +1 -0
  77. package/index.html +3 -3
  78. package/main-HT3PXURE.js +1 -0
  79. package/package.json +1 -1
  80. package/{polyfills-BZ5XXHZK.js → polyfills-6QHLTIIN.js} +1 -1
  81. package/{styles-CAXGLRRN.css → styles-V3SS5M3J.css} +1 -1
  82. package/chunk-2EOGI5U4.js +0 -8
  83. package/chunk-2PAPG5UW.js +0 -1
  84. package/chunk-4B4SNBSE.js +0 -1
  85. package/chunk-4YRHMBJK.js +0 -1
  86. package/chunk-5242ZMFS.js +0 -1
  87. package/chunk-56BIOJTU.js +0 -1
  88. package/chunk-5BO226DZ.js +0 -1
  89. package/chunk-5EOQSHY6.js +0 -1
  90. package/chunk-5XWXETE2.js +0 -1
  91. package/chunk-6OYKPS4F.js +0 -1
  92. package/chunk-7WCKE7GY.js +0 -1
  93. package/chunk-A7BKUGJT.js +0 -1
  94. package/chunk-ADU47UB6.js +0 -1
  95. package/chunk-EQ74YCX7.js +0 -1
  96. package/chunk-GON7FNZR.js +0 -1
  97. package/chunk-GWH4FCBZ.js +0 -1
  98. package/chunk-IPNKLO2C.js +0 -1
  99. package/chunk-K7E5BKU4.js +0 -8
  100. package/chunk-KXHE37LY.js +0 -1
  101. package/chunk-LOR4VCVG.js +0 -1
  102. package/chunk-MYXDJGSR.js +0 -1
  103. package/chunk-OELZQ6RK.js +0 -1
  104. package/chunk-OQNO5JCJ.js +0 -1
  105. package/chunk-ORNS7N6Q.js +0 -1
  106. package/chunk-P3QRASBZ.js +0 -1
  107. package/chunk-PXG6UWRT.js +0 -1
  108. package/chunk-QBYHBPBT.js +0 -1
  109. package/chunk-S2EID4MC.js +0 -1
  110. package/chunk-S6C4DHJH.js +0 -3
  111. package/chunk-TFIF6FCF.js +0 -1
  112. package/chunk-VJPUDP2T.js +0 -1
  113. package/chunk-WX5636KE.js +0 -1
  114. package/chunk-X7KD2725.js +0 -1
  115. package/chunk-XYENMXJU.js +0 -1
  116. package/chunk-YBGYY3E5.js +0 -1
  117. package/chunk-YCVMFFKU.js +0 -2
  118. package/chunk-ZJWHMCU4.js +0 -1
  119. package/main-DQ77DZR6.js +0 -1
@@ -0,0 +1,8 @@
1
+ import{a as Yt,b as Qt}from"./chunk-6DH6O5YE.js";import{a as _t}from"./chunk-TQGG56ZZ.js";import{a as qe}from"./chunk-VN7JM6M3.js";import{a as jt,b as Mt,c as qt}from"./chunk-KSP3JQHY.js";import{a as X}from"./chunk-HTNYQE2B.js";import{a as Le}from"./chunk-SAVY3OEX.js";import{a as J}from"./chunk-7L42EO7J.js";import{b as Ue,c as _e,d as Fe,e as ge,f as Ve,g as ut,h as Be,i as Ke,j as We,m as mt,n as ze,o as dt,p as Xt,q as He,r as Ce,s as Xe,t as je}from"./chunk-T2OUHRUV.js";import{b as Ae,d as pe}from"./chunk-QVIZK4WW.js";import{A as pt,a as ue,b as lt,d as zt,e as ve,g as be,l as me,o as Ht,p as ct,t as de,z as Ge}from"./chunk-WX7L7V6J.js";import{b as Ie}from"./chunk-PTDSOPNK.js";import{c as Wt}from"./chunk-MZ473NLM.js";import{i as Kt}from"./chunk-CKPICCFH.js";import{$b as d,Ab as H,Ac as v,Bb as et,Bc as st,Cb as b,F as Ze,Gb as y,Hb as A,Ib as R,Jb as At,Kb as Pt,Lb as Oe,Mb as P,Nb as p,Qa as l,Qb as ce,S as ye,Sb as Bt,Tb as W,Xa as Me,Y as k,Yb as we,Zb as Re,_b as re,ab as le,ac as xe,bc as q,cc as Nt,da as g,ea as C,ec as V,f as at,fb as F,fc as B,gc as K,hc as kt,ic as Ot,ja as Ut,jc as $t,lc as tt,mb as Vt,mc as nt,nb as u,oc as it,pb as ke,qa as Et,r as Je,ra as yt,sb as T,sc as ot,tb as te,ua as E,ub as ne,vb as ie,wb as s,xb as a,yb as m,zb as z}from"./chunk-W2F756OF.js";import{a as h,b as Ee,c as Lt}from"./chunk-7CGTOI24.js";var Ft=class t{#n=k(Ie);#e=k(ve);#i=k(Le);testDestination(n,e,i){return this.#i.hasV2TestOperations()?this.testDestinationv2(n,e,i):this.testDestinationv1(n,e,i)}testDestinationv2(n,e,i){return new at(o=>{this.#n.postApiV2DestinationTest({requestBody:{DestinationUrl:n,AutoCreate:!1,Options:null}}).subscribe({next:r=>{if(r.Success){o.next({action:"success",targetUrl:n,testAgain:!1,destinationIndex:e,anyFilesFound:!r.Data?.FolderIsEmpty,containsBackup:r.Data?.FolderContainsBackupFiles??void 0,containsEncryptedBackupFiles:r.Data?.FolderContainsEncryptedBackupFiles??void 0}),o.complete();return}this.handleGenericError(o,n,e,r.Error??"Unknown error")},error:r=>{let c=r?.error?.body;if(c?.Data?.FolderExists===!1||c?.StatusCode==="missing-folder"){i?this.handleMissingFolder(o,n,e):this.handleGenericError(o,n,e,$localize`The remote destination folder does not exist.`);return}if(c?.Data?.HostCertificate){this.handleMissingCertificate(o,n,e,c.Data?.HostCertificate);return}if(c?.Data?.ReportedHostKey){this.handleIncorrectKey(o,n,e,c.Data.ReportedHostKey,c.Data.AcceptedHostKey??null);return}this.handleGenericError(o,n,e,r?.message??"Unknown error")}})})}testDestinationv1(n,e,i){return new at(o=>{this.#n.postApiV1RemoteoperationTest({requestBody:{path:n}}).subscribe({next:r=>{o.next({action:"success",targetUrl:n,testAgain:!1,destinationIndex:e}),o.complete()},error:r=>{this.handleDestinationErrorv1(r.message,n,e,i).subscribe(c=>{o.next(c)})}})})}handleMissingFolder(n,e,i){this.#e.open(J,{data:{title:$localize`Create folder`,message:$localize`The remote destination folder does not exist, do you want to create it?`,confirmText:$localize`Create folder`,cancelText:$localize`Cancel`},closed:o=>{o&&(this.#i.hasV2TestOperations()?this.#n.postApiV2DestinationTest({requestBody:{DestinationUrl:e,AutoCreate:!0,Options:null}}).subscribe({next:r=>{r.Success?this.handleFolderCreated(n,e,i):this.handleFolderCreateFailure(n,e,i,r.Error??$localize`Unknown error`)},error:r=>{this.handleFolderCreateFailure(n,e,i,r.message??$localize`Unknown error`)}}):this.#n.postApiV1RemoteoperationCreate({requestBody:{path:e}}).subscribe({next:()=>{this.handleFolderCreated(n,e,i)},error:r=>{this.handleFolderCreateFailure(n,e,i,r.message??$localize`Unknown error`)}}))}})}handleFolderCreateFailure(n,e,i,o){this.#e.open(J,{data:{title:$localize`Error creating folder`,message:$localize`The remote destination folder could not be created. ${o}`,confirmText:$localize`OK`,cancelText:null},closed:()=>{n.next({action:"generic-error",targetUrl:e,testAgain:!1,destinationIndex:i}),n.complete()}})}handleFolderCreated(n,e,i){this.#e.open(J,{data:{title:$localize`Folder created`,message:$localize`The remote destination folder was created successfully.`,confirmText:$localize`OK`,cancelText:null},closed:()=>{n.next({action:"test-again",targetUrl:e,testAgain:!0,destinationIndex:i}),n.complete()}})}reportNoAction(n,e,i){n.next({action:"generic-error",targetUrl:e,testAgain:!1,destinationIndex:i}),n.complete()}handleMissingCertificate(n,e,i,o){this.#e.open(J,{maxWidth:"500px",data:{title:$localize`Trust the certificate`,message:$localize`The server is using a certificate that is not trusted.
2
+ If this is a self-signed certificate, you can choose to trust this certificate.
3
+ The server reported the certificate hash: ${o}`,confirmText:$localize`Trust the certificate`,cancelText:$localize`Cancel`},closed:r=>{if(!r){this.reportNoAction(n,e,i);return}n.next({action:"trust-cert",targetUrl:e,testAgain:!0,certData:o,destinationIndex:i}),n.complete()}})}handleIncorrectKey(n,e,i,o,r){r?this.#e.open(J,{maxWidth:"500px",data:{title:$localize`The host key has changed`,message:$localize`The host key has changed, please check with the server administrator if this is correct,
4
+ otherwise you could be the victim of a MAN-IN-THE-MIDDLE attack.
5
+ Do you want to REPLACE your CURRENT host key ${r}
6
+ with the REPORTED host key: ${o}?`,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:c=>{if(!c){this.reportNoAction(n,e,i);return}n.next({action:"approve-host-key",targetUrl:e,testAgain:!1,reportedHostKey:o,destinationIndex:i}),n.complete()}}):this.#e.open(J,{maxWidth:"500px",data:{title:$localize`Approve host key?`,message:$localize`No certificate was specified, please verify that the reported host key is correct: ${o}`,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:c=>{if(!c){this.reportNoAction(n,e,i);return}n.next({action:"approve-host-key",targetUrl:e,testAgain:!0,reportedHostKey:o,destinationIndex:i}),n.complete()}})}handleGenericError(n,e,i,o){this.#e.open(J,{maxWidth:"500px",data:{title:$localize`Test connection failed`,message:o,cancelText:$localize`OK`},closed:r=>{n.next({action:"generic-error",targetUrl:e,testAgain:!1,destinationIndex:i}),n.complete()}})}handleDestinationErrorv1(n,e,i,o){return new at(r=>{if(n==="missing-folder"){o?this.handleMissingFolder(r,e,i):this.handleGenericError(r,e,i,$localize`The remote destination folder does not exist.`);return}if(n.startsWith("incorrect-cert:")){let c=n.split("incorrect-cert:")[1];this.handleMissingCertificate(r,e,i,c);return}if(n.startsWith("incorrect-host-key:")){let c=n.split('incorrect-host-key:"')[1].split('",')[0],f=n.split('accepted-host-key:"')[1].split('",')[0];this.handleIncorrectKey(r,e,i,c,f);return}this.handleGenericError(r,e,i,n)})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=ye({token:t,factory:t.\u0275fac,providedIn:"root"})};var gt=class t{fromString(n){if(!n)return null;let e=n.match(/(\d+)([smhDWMY])/);return e&&{value:parseInt(e[1]),unit:e[2]}}toString(n,e){return`${n}${e}`}static \u0275fac=function(e){return new(e||t)};static \u0275prov=ye({token:t,factory:t.\u0275fac,providedIn:"root"})};var he=class t{#n=k(Ie);s3Providers=X(this.getS3Config("Providers"));s3Regions=X(this.getS3Config("Regions"));s3RegionHosts=X(this.getS3Config("RegionHosts"));s3StorageClasses=X(this.getS3Config("StorageClasses"));storjSatellites=X(this.getStorjConfig("Satellites"));storjAuthenticationMethods=X(this.getStorjConfig("AuthenticationMethods"));openstackProviders=X(this.getOpenstackConfig("Providers"));openstackVersions=X(this.getOpenstackConfig("Versions"));gcsLocations=X(this.getGcsConfig("Locations"));gcsStorageClasses=X(this.getGcsConfig("StorageClasses"));getS3Config(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"s3-getconfig",requestBody:{"s3-config":n}}).pipe(Je(e=>this.#e(e)))}createS3IamUser(n,e){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"CanCreateUser","s3-username":n,"s3-password":e}})}createS3PolicyIAM(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"s3-iamconfig",requestBody:{"s3-operation":"GetPolicyDoc",path:n}})}getStorjConfig(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"storj-getconfig",requestBody:{"storj-config":n}}).pipe(Je(e=>this.#e(e)))}getOpenstackConfig(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"openstack-getconfig",requestBody:{"openstack-config":n}}).pipe(Je(e=>this.#e(e)))}getGcsConfig(n){return this.#n.postApiV1WebmoduleByModulekey({modulekey:"gcs-getconfig",requestBody:{"gcs-config":n}}).pipe(Je(e=>this.#e(e)))}#e(n){return(n.Result&&typeof n.Result=="object"&&Object.entries(n.Result).map(([e,i])=>({key:e,value:i})))??[]}static \u0275fac=function(e){return new(e||t)};static \u0275prov=ye({token:t,factory:t.\u0275fac,providedIn:"root"})};function Ne(t){return t==null?"":":"+t.toString()}function Q(t){return t==null?"":t.startsWith("/")?t:"/"+t}function $(t,n){let e={},i={},o=Se.find(r=>r.key===t);return n.searchParams.forEach((r,c)=>{o?.dynamicFields?.some(N=>N===c||N?.name===c)?i[c]=decodeURIComponent(r):e[c]=decodeURIComponent(r)}),{advanced:e,dynamic:i}}function M(t,n=!1){let e=t.map(([o,r])=>`${o}=${r?encodeURIComponent(r.toString()):""}`).join("&");return e?(n?"":"?")+e:""}function Ct(t){let n=t.destinationType,e=Se.find(i=>i.customKey===n||i.key===n);if(!e)throw new Error("Invalid destination type");return e?.mapper.to(t)??""}function wt(t){let n=URL.canParse(t),e=t.split("://")[0],i=t.split("://")[1],o="http://"+i;if(i.startsWith("%")&&e==="file")return Se.find(r=>r.customKey===e||r.key===e)?.mapper.from(e,new URL("http://localhost"),t);try{let r=new URL(o);return Se.find(c=>c.customKey===e||c.key===e)?.mapper.from(e,r,t)}catch(r){console.error("Error while parsing target path",r)}if(!n)throw new Error("Invalid target path");return null}var _=new Ce,Se=[{key:"file",displayName:"File system",description:"Store backups on your local file system.",customFields:{path:{type:"FolderTree",name:"path",shortDescription:"File path",longDescription:"The path to store the backup",formElement:t=>_.control(t??"")}},mapper:{to:t=>{let n=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${n}`},from:(t,n,e)=>{let o=e.startsWith("file:///")?e.split("file:///")[1]:e.split("file://")[1],r=o.startsWith("%"),f=o.slice(1).startsWith(":\\")||r?o:"/"+o;return h({destinationType:t,custom:{path:f}},$(t,n))}}},{key:"ssh",displayName:"SSH",description:"Store backups in SSH.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:t=>_.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:t=>_.control(t??"",[Fe.required,Fe.max(65535)])},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>_.control(t??"")}},dynamicFields:["auth-username"],advancedFields:[{type:"FileTree",name:"ssh-keyfile",accepts:".key,",shortDescription:"This is a path to a private key file locally on the machine",longDescription:"This is a path to a private key file locally on the machine"}],mapper:{to:t=>{let n=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:i,path:o}=t.custom;return`${t.destinationType}://${i+Ne(e)+Q(o)+n}`},from:(t,n,e)=>h({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},$(t,n))}},{key:"s3",displayName:"S3 compatible bucket",description:"Store backups in any S3 compatible bucket.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>_.control(t??"")},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"s3-server-name",shortDescription:"Server",type:"NonValidatedSelectableString",loadOptions:t=>t.get(he).s3Providers},"use-ssl","auth-username","auth-password"],advancedFields:[{name:"s3-client",type:"Enumeration",options:["aws","minio"]},{name:"s3-storage-class",type:"NonValidatedSelectableString",loadOptions:t=>t.get(he).s3StorageClasses}],mapper:{to:t=>{let{bucket:n,path:e}=t.custom,i=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n+Q(e)+i}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.pathname,bucket:n.hostname}},$(t,n))}},{key:"gcs",displayName:"Google Cloud Storage",description:"Store backups in Google Cloud Storage.",oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"gcs-location",type:"NonValidatedSelectableString",loadOptions:t=>t.get(he).gcsLocations},{name:"gcs-storage-class",type:"NonValidatedSelectableString",loadOptions:t=>t.get(he).gcsStorageClasses},"authid"],mapper:{to:t=>{let n=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${n}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"googledrive",displayName:"Google Drive",description:"Store backups in Google Drive.",oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>_.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"pcloud",displayName:"pCloud",description:"Store backups in pCloud.",oauthField:"authid",customFields:{server:{type:"Enumeration",name:"server",loadOptions:()=>E([{key:"pCloud Global",value:"api.pcloud.com"},{key:"pCloud Europe",value:"eapi.pcloud.com"}]),shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")},path:{type:"Path",name:"path",shortDescription:"Folder path",longDescription:"Folder path",formElement:t=>_.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{server:e,path:i}=t.custom;return`${t.destinationType}://${e+Q(i)+n}`},from:(t,n,e)=>{let i=n.pathname.replace(/^\//,"");return h({destinationType:t,custom:{server:n.hostname,path:i}},$(t,n))}}},{key:"azure",displayName:"Azure Blob Storage",description:"Store backups in Azure Blob Storage.",customFields:{path:{type:"String",name:"path",shortDescription:"Container name",longDescription:"Container name",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"onedrivev2",displayName:"OneDrive",description:"Store backups in OneDrive.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"od4b",displayName:"OneDrive Business",description:"Store backups in OneDrive Business.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let n=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:i,path:o}=t.custom;return`${t.destinationType}://${i+Ne(e)+Q(o)+n}`},from:(t,n,e)=>h({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},$(t,n))}},{key:"mssp",displayName:"Microsoft SharePoint",description:"Store backups in Microsoft SharePoint.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Account name"},{name:"auth-password",shortDescription:"Access key"}],mapper:{to:t=>{let n=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:i,path:o}=t.custom;return`${t.destinationType}://${i+Ne(e)+Q(o)+n}`},from:(t,n,e)=>h({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},$(t,n))}},{key:"sharepoint",displayName:"Microsoft SharePoint v2",description:"Store backups in Microsoft SharePoint.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"dropbox",displayName:"Dropbox",description:"Store backups in Dropbox.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"box",displayName:"Box.com",description:"Store backups in Box.com.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"jottacloud",displayName:"Jottacloud",description:"Store backups in Jottacloud.",oauthField:"authid",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"b2",displayName:"B2 Cloud Storage",description:"Store backups in B2 Cloud Storage.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path in the bucket",longDescription:"Path in the bucket",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Application ID"},{name:"auth-password",shortDescription:"Application Key"}],mapper:{to:t=>{let{bucket:n,path:e}=t.custom,i=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n+Q(e)+i}`},from:(t,n,e)=>h({destinationType:t,custom:{bucket:n.hostname,path:decodeURIComponent(n.pathname)}},$(t,n))}},{key:"e2",displayName:"IDrive e2",description:"Store backups in IDrive e2.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path in the bucket",longDescription:"Path in the bucket",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Access ID"},{name:"auth-password",shortDescription:"Access Secret"}],mapper:{to:t=>{let{bucket:n,path:e}=t.custom,i=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n+Q(e)+i}`},from:(t,n,e)=>h({destinationType:t,custom:{bucket:n.hostname,path:n.pathname}},$(t,n))}},{key:"mega",displayName:"Mega.nz",description:"Store backups in Mega.nz.",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"msgroup",displayName:"Microsoft Office 365 Group",description:"Store backups in Microsoft Office 365 Group.",oauthField:"authid",customFields:{groupEmail:{type:"Email",name:"groupEmail",shortDescription:"Group email",longDescription:"Group email",formElement:t=>_.control(t??"",[Fe.email])},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:["authid"],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${n}${e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.hostname+n.pathname}},$(t,n))}},{key:"cloudfiles",displayName:"Rackspace CloudFiles",description:"Store backups in Rackspace CloudFiles.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let n=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{port:e,server:i,path:o}=t.custom;return`${t.destinationType}://${i+Ne(e)+Q(o)+n}`},from:(t,n,e)=>h({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},$(t,n))}},{key:"rclone",displayName:"Rclone",description:"Store backups in Rclone.",dynamicFields:[{name:"rclone-local-repository",shortDescription:"Local repository",defaultValue:""},{name:"rclone-remote-repository",shortDescription:"Remote repository",defaultValue:""},{name:"rclone-remote-path",shortDescription:"Path on remote repository",defaultValue:""}],mapper:{to:t=>{let n=t.dynamic["rclone-remote-repository"],e=t.dynamic["rclone-remote-path"],i=Object.entries(t.dynamic).filter(([r])=>!["rclone-remote-repository","rclone-remote-path"].includes(r)),o=M([...Object.entries(t.advanced),...i]);return`${t.destinationType}://${n}/${e+o}`},from:(t,n,e)=>{let{advanced:i,dynamic:o}=$(t,n);return h({destinationType:t,dynamic:h({"rclone-remote-repository":n.hostname,"rclone-remote-path":n.pathname},o)},i)}}},{key:"openstack",displayName:"OpenStack Object Storage",description:"Store backups in OpenStack Object Storage.",customFields:{bucket:{type:"String",name:"bucket",shortDescription:"Bucket",longDescription:"Bucket",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"openstack-authuri",shortDescription:"Auth URI",type:"Enumeration",loadOptions:t=>t.get(he).openstackProviders},{name:"openstack-version",shortDescription:"Version",type:"Enumeration",loadOptions:t=>t.get(he).openstackVersions},{name:"openstack-domain-name",shortDescription:"Domain name"},{name:"openstack-tenant-name",shortDescription:"Tenant name"},{name:"openstack-region",shortDescription:"Region"}],mapper:{to:t=>{let n=M([...Object.entries(t.advanced),...Object.entries(t.dynamic)]),{bucket:e}=t.custom;return`${t.destinationType}://${e+n}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.pathname,bucket:n.hostname}},$(t,n))}},{key:"webdav",displayName:"WebDAV",description:"Store backups in WebDAV.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"use-ssl",shortDescription:"Use SSL"},{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let{port:n,server:e,path:i}=t.custom,o=t.dynamic["use-ssl"],r=M([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([c])=>c!=="use-ssl")]);return`${t.destinationType}${o?"s":""}://${e+Ne(n)+Q(i)+r}`},from:(t,n,e)=>h({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},$(t,n))}},{key:"aftp",displayName:"FTP",description:"Store backups in FTP.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"auth-username",shortDescription:"Username"},{name:"auth-password",shortDescription:"Password"}],mapper:{to:t=>{let{port:n,server:e,path:i}=t.custom,o=M([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([r])=>r!=="use-ssl")]);return`${t.destinationType}://${e+Ne(n)+Q(i)+o}`},from:(t,n,e)=>h({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},$(t,n))}},{key:"sia",displayName:"Sia Decentrilized Cloud",description:"Store backups in Sia Decentrilized Cloud.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")}},dynamicFields:["sia-targetpath","sia-password","sia-redundancy"],mapper:{to:t=>{let n=t.custom.server,e=t.dynamic["sia-targetpath"],i=M([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([o])=>o!=="sia-targetpath")]);return`${t.destinationType}://${n+Q(e)+i}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.pathname}},$(t,n))}},{key:"cos",displayName:"Tencent COS",description:"Store backups in Tencent COS.",customFields:{path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"cos-bucket",shortDescription:"Bucket",order:1},{name:"cos-region",shortDescription:"Region",order:2},{name:"cos-app-id",shortDescription:"COS App Id",order:3},{name:"cos-secret-id",shortDescription:"COS Secret Id",order:4},{name:"cos-secret-key",shortDescription:"COS Secret Key",order:5}],mapper:{to:t=>{let n=t.custom.path,e=M([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([i])=>i!=="cos-targetpath")]);return`${t.destinationType}://${n+e}`},from:(t,n,e)=>h({destinationType:t,custom:{path:n.pathname}},$(t,n))}},{key:"tahoe",displayName:"Tahoe LAFS",description:"Store backups in Tahoe LAFS.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"Port",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")},username:{type:"String",name:"username",shortDescription:"Username",longDescription:"Username",formElement:t=>_.control(t??"")},password:{type:"Password",name:"password",shortDescription:"Password",longDescription:"Password",formElement:t=>_.control(t??"")}},dynamicFields:[{name:"use-ssl",shortDescription:"Use SSL"}],mapper:{to:t=>{let{port:n,server:e,path:i,username:o,password:r}=t.custom,c={"auth-username":o,"auth-password":r},f=t.dynamic["use-ssl"],N=M([...Object.entries(t.advanced),...Object.entries(t.dynamic).filter(([w])=>w!=="use-ssl"),...Object.entries(c)]);return`${t.destinationType}${f?"s":""}://${e+Ne(n)+Q(i)+N}`},from:(t,n,e)=>h({destinationType:t,custom:{server:n.hostname,port:n.port,path:n.pathname}},$(t,n))}},{key:"cifs",displayName:"CIFS",description:"Store backups in CIFS.",customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"Server",formElement:t=>_.control(t??"")},share:{type:"String",name:"share",shortDescription:"Share Name",longDescription:"Share Name",formElement:t=>_.control(t??"")},path:{type:"String",name:"path",shortDescription:"Path on server",longDescription:"Path on server",formElement:t=>_.control(t??"")}},dynamicFields:["transport","auth-username","auth-password","auth-domain"],mapper:{to:t=>{let{share:n,server:e,path:i,username:o,password:r}=t.custom,c={"auth-username":o,"auth-password":r},f=new Map([...Object.entries(c),...Object.entries(t.advanced),...Object.entries(t.dynamic)]),N=M(Array.from(f));return`${t.destinationType}://${e+Q(n)+Q(i)+N}`},from:(t,n,e)=>{let i=n.pathname.split("/")[1],o=n.pathname.split("/").slice(2).join("/");return h({destinationType:t,custom:{server:n.hostname,share:i,path:o}},$(t,n))}}},{key:"filen",displayName:"Filen.io",description:"Store backups in Filen.io.",customFields:{path:{type:"String",name:"path",shortDescription:"Path on Filen",longDescription:"Path on Filen",formElement:t=>_.control(t??"")}},dynamicFields:["auth-username","auth-password"],mapper:{to:t=>{let{path:n,username:e,password:i}=t.custom,o={"auth-username":e,"auth-password":i},r=new Map([...Object.entries(o),...Object.entries(t.advanced),...Object.entries(t.dynamic)]),c=M(Array.from(r));return`${t.destinationType}://${n+c}`},from:(t,n,e)=>{let i=n.hostname??"";return n.pathname&&i!==""&&n.pathname[0]!="/"&&(i+="/"),i+=n.pathname,h({destinationType:t,custom:{path:i}},$(t,n))}}},{key:"filejump",displayName:"Filejump",description:"Store backups in Filejump.",customFields:{path:{type:"String",name:"path",shortDescription:"Path on Filejump",longDescription:"Path on Filejump",formElement:t=>_.control(t??"")}},dynamicFields:[{type:"Password",name:"api-token",shortDescription:"API Token",longDescription:"Filejump API Token",formElement:t=>_.control(t??"")}],mapper:{to:t=>{let{path:n,username:e,password:i,apitoken:o}=t.custom,r=(o||"").trim()===""?{"auth-username":e,"auth-password":i}:{"api-token":o},c=new Map([...Object.entries(r),...Object.entries(t.advanced),...Object.entries(t.dynamic)]),f=M(Array.from(c));return`${t.destinationType}://${n+f}`},from:(t,n,e)=>{let i=n.hostname??"";return n.pathname&&i!==""&&n.pathname[0]!="/"&&(i+="/"),i+=n.pathname,h({destinationType:t,custom:{path:i}},$(t,n))}}},{key:"storj",customKey:"storjAccessGrant",displayName:"Storj Access Grant",description:"Store backups in Storj Access Grant.",dynamicFields:[{name:"storj-shared-access",shortDescription:"Access Grant"},{name:"storj-bucket",shortDescription:"Bucket"},{name:"storj-folder",shortDescription:"Path on server"}],mapper:{to:t=>`storj://storj.io/config?storj-auth-method=Access%20grant&storj-satellite=us1.storj.io%3A7777&storj-api-key&storj-secret&${M([...Object.entries(t.advanced),...Object.entries(t.dynamic)],!0)}`,from:(t,n,e)=>h({destinationType:t},$(t,n))}},{key:"storj",customKey:"storjApiKey",displayName:"Storj API Key",description:"Store backups in Storj API Key.",dynamicFields:[{name:"storj-satellite",shortDescription:"Satellite",type:"Enumeration",loadOptions:t=>t.get(he).storjSatellites},{name:"storj-api-key",shortDescription:"API Key"},{name:"storj-secret",shortDescription:"Secret"},{name:"storj-bucket",shortDescription:"Bucket"},{name:"storj-folder",shortDescription:"Path on server"}],mapper:{to:t=>`storj://storj.io/config?storj-auth-method=API%20key&${M([...Object.entries(t.advanced),...Object.entries(t.dynamic)],!0)}`,from:(t,n,e)=>h({destinationType:t},$(t,n))}}];var rn=["formRef"];function an(t,n){t&1&&(s(0,"spk-alert",17),y(1,5),m(2,"spk-icon",26),A(),a())}function sn(t,n){if(t&1&&d(0),t&2){let e=n.$implicit;q(" ",e.DisplayName," ")}}function ln(t,n){if(t&1&&m(0,"spk-progress-bar",40),t&2){let e=p(3);ke("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),u("value",e.calculatePasswordStrength()*(100/5))}}function cn(t,n){t&1&&(s(0,"span",35),R(1,10),a())}function pn(t,n){t&1&&(y(0,8,1),m(1,"spk-icon"),A())}function un(t,n){t&1&&(y(0,8,2),m(1,"spk-icon"),A())}function mn(t,n){t&1&&(y(0,11,1),m(1,"spk-icon",42),A())}function dn(t,n){t&1&&(y(0,11,2),m(1,"spk-icon"),A())}function _n(t,n){if(t&1){let e=b();s(0,"button",41),P("click",function(){g(e);let o=p(3);return C(o.copyPassword())}),y(1,11),F(2,mn,2,0)(3,dn,2,0),A(),a()}if(t&2){let e=p(3);l(2),T(e.copiedPassword()?2:3)}}function Fn(t,n){t&1&&(s(0,"spk-alert",39),R(1,12),a())}function gn(t,n){if(t&1){let e=b();s(0,"div",30)(1,"spk-form-field")(2,"label",31),y(3,7),m(4,"sup"),A(),a(),m(5,"input",32),a(),F(6,ln,1,9,"spk-progress-bar",33),s(7,"spk-form-field"),m(8,"input",34),F(9,cn,2,0,"span",35),a(),s(10,"div",36)(11,"button",37),P("click",function(){g(e);let o=p(2);return C(o.showPassword.set(!o.showPassword()))}),y(12,8),F(13,pn,2,0)(14,un,2,0),A(),a(),s(15,"button",37),P("click",function(){g(e);let o=p(2);return C(o.generatePassword())}),y(16,9),m(17,"spk-icon"),A(),a(),F(18,_n,4,1,"button",38),a(),F(19,Fn,2,0,"spk-alert",39),a()}if(t&2){let e=p(2);l(5),u("type",e.showPassword()?"text":"password"),l(),T(e.generalForm.value.password?6:-1),l(2),u("type",e.showPassword()?"text":"password"),l(),T(e.generalForm.value.repeatPassword&&e.generalForm.value.repeatPassword!==e.generalForm.value.password?9:-1),l(4),T(e.showPassword()?13:14),l(5),T(e.showCopyPassword()?18:-1),l(),T(e.generalForm.value.password&&e.generalForm.value.password===e.generalForm.value.repeatPassword?19:-1)}}function Cn(t,n){if(t&1&&(s(0,"spk-select",27)(1,"label",28),R(2,6),a(),m(3,"input",29),F(4,sn,1,1,"ng-template"),a(),F(5,gn,20,7,"div",30)),t&2){let e=p();u("options",e.encryptionOptions())("isClearable",!1),l(5),T(e.encryptionFieldSignal()!==""?5:-1)}}function hn(t,n){if(t&1&&(s(0,"button",24),y(1,13),m(2,"spk-icon"),A(),a()),t&2){let e=p();u("disabled",e.nameAndDescriptionValid()===!1)}}function fn(t,n){if(t&1&&(s(0,"spk-tooltip",25)(1,"button",24),y(2,14),m(3,"spk-icon"),A(),a()()),t&2){let e=p();u("disabled",!(e.showCopyPassword()&&!e.copiedPassword())),l(),u("disabled",e.generalForm.invalid||e.showCopyPassword()&&!e.copiedPassword())}}var Ye=new Ce,Jt=(t={name:"",description:"",encryption:"",password:"",repeatPassword:""})=>Ye.group({name:Ye.control(t.name,[Fe.required]),description:Ye.control(t.description),encryption:Ye.control(t.encryption,[qt()]),password:Ye.control(t.password,[Mt(n=>n?.value.encryption!=="",[Fe.required])]),repeatPassword:Ye.control(t.repeatPassword,[Mt(n=>n?.value.encryption!=="",[Fe.required])])}),xt={Key:"",DisplayName:"None"},Rt=class t{#n=k(pe);#e=k(Ae);#i=k(jt);#t=k(fe);#o=k(Le);formRef=Me.required("formRef");generalForm=this.#t.generalForm;generalFormSignal=this.#t.generalFormSignal;encryptionFieldSignal=this.#t.encryptionFieldSignal;encryptionOptions=this.#t.encryptionOptions;isNew=this.#t.isNew;showPassword=E(!1);copiedPassword=E(!1);showCopyPassword=E(!1);encryptionEffect=st(()=>{this.encryptionFieldSignal()===""&&(this.copiedPassword.set(!1),this.showCopyPassword.set(!1))});nameAndDescriptionValid=v(()=>{let n=this.generalFormSignal(),e=this.generalForm.controls;return e?.name&&e.name.valid&&e?.description&&e.description.valid});calculatePasswordStrength=v(()=>{let e=this.generalFormSignal()?.password??"";return this.#i.calculatePasswordStrength(e)});ngOnInit(){this.formRef().nativeElement.focus()}exit(){this.#t.exit()}async copyPassword(){let n=this.generalForm.controls.password.value;await this.#r(n??""),this.copiedPassword.set(!0)}async#r(n){try{await navigator.clipboard.writeText(n)}catch{try{let i=document.createElement("textarea");i.value=n,document.body.appendChild(i),i.select(),document.execCommand("copy"),document.body.removeChild(i)}catch(i){console.error("Failed to copy text: ",i)}}}displayFn(){let n=this.#o.systemInfo()?.EncryptionModules??[];return e=>{let i=[xt,...n].find(o=>o.Key===e);return i?`${i.DisplayName}`:""}}generatePassword(){this.copiedPassword.set(!1);let n=this.#i.generate(16);this.generalForm.controls.password.setValue(n),this.generalForm.controls.repeatPassword.setValue(n),this.showCopyPassword.set(!0)}next(){this.#n.navigate(["destination"],{relativeTo:this.#e.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=le({type:t,selectors:[["app-general"]],viewQuery:function(e,i){e&1&&we(i.formRef,rn,5),e&2&&Re()},decls:21,vars:4,consts:()=>{let n;n=$localize`Your backup name`;let e;e=$localize`Your backup description`;let i;i=$localize`General backup settings`;let o;o=$localize` Backup name ${"\uFFFD#8\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#8\uFFFD"}:CLOSE_SUPERSCRIPT:`;let r;r=$localize`Backup description`;let c;c=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SPK_ICON: Exit `;let f;f=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:lock${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Encrypted backup `;let N;N=$localize`Encryption`;let w;w=$localize`Encryption`;let Y;Y=$localize`Password`;let I;I=$localize`Repeat password`;let G;G=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let U;U=$localize`${"\uFFFD*13:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: hide ${"\uFFFD/*13:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*14:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: show ${"\uFFFD/*14:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,U=Oe(U);let oe;oe=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_ICON:password${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_ICON: Generate password `;let Z;Z=$localize`Passwords do not match`;let S;S=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SPK_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,S=Oe(S);let D;D=$localize` Tip: Be sure to save your password. If you loose it you will lose access to your backups. `;let L;L=$localize` Continue ${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let j;return j=$localize` Continue ${"\uFFFD#3\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],i,o,r,c,f,w,G,U,oe,Z,S,D,L,j,["autocomplete","off",3,"submit","formGroup"],[1,"title-30"],[1,"primary"],["for","backupName"],["type","text","tabindex","1","placeholder",n,"formControlName","name"],["for","backupDescription"],["id","backupDescription","tabindex","2","placeholder",e,"formControlName","description"],[1,"form-actions"],["type","button","spk-button","",3,"click"],["spk-button","","type","submit",1,"raised","primary",3,"disabled"],["message","Remember to copy the password",1,"primary",3,"disabled"],["icon",""],["value","Key","label","DisplayName",3,"options","isClearable"],["for","encryption"],["type","text","id","encryption","tabindex","3","placeholder",N,"formControlName","encryption"],[1,"passwords"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",Y,"formControlName","password",3,"type"],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",I,"formControlName","repeatPassword",3,"type"],["error",""],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],["type","primary"],[1,"raised",3,"value"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]]},template:function(e,i){if(e&1){let o=b();s(0,"form",15,0),P("submit",function(){return g(o),C(i.next())}),s(2,"h3",16),R(3,1),a(),F(4,an,3,0,"spk-alert",17),s(5,"spk-form-field")(6,"label",18),y(7,2),m(8,"sup"),A(),a(),m(9,"input",19),a(),s(10,"spk-form-field")(11,"label",20),R(12,3),a(),m(13,"textarea",21),a(),F(14,Cn,6,3),s(15,"div",22)(16,"button",23),P("click",function(){return g(o),C(i.exit())}),y(17,4),m(18,"spk-icon"),A(),a(),F(19,hn,3,1,"button",24)(20,fn,4,2,"spk-tooltip",25),a()()}if(e&2){let o;u("formGroup",i.generalForm),l(4),T(!i.isNew()&&((o=i.generalFormSignal())==null?null:o.encryption)!==""?4:-1),l(10),T(i.isNew()?14:-1),l(5),T(i.encryptionFieldSignal()===""||!i.isNew()?19:20)}},dependencies:[je,Ke,_e,ge,Ve,ze,He,me,de,be,ue,ct,lt,pt],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}sup[_ngcontent-%COMP%]{padding:0 .125rem;color:var(--error-500)}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-500)}"],changeDetection:0})};function Sn(t,n){if(t&1){let e=b();s(0,"div",24)(1,"spk-form-field")(2,"label",25),R(3,7),a(),s(4,"input",26,0),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.nextTime().time,o)||(r.scheduleFields.nextTime().time=o),C(o)}),P("focus",function(){g(e);let o=re(5);return C(o.showPicker())}),a(),s(6,"spk-icon",27),d(7,"clock"),a()(),s(8,"spk-form-field"),m(9,"label",28),s(10,"input",29,1),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.nextTime().date,o)||(r.scheduleFields.nextTime().date=o),C(o)}),P("focus",function(){g(e);let o=re(11);return C(o.showPicker())}),a(),s(12,"spk-icon",27),d(13,"calendar"),a()()(),s(14,"div",24)(15,"spk-form-field")(16,"label",30),R(17,8),a(),s(18,"input",31),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().repeatValue,o)||(r.scheduleFields.runAgain().repeatValue=o),C(o)}),a()(),s(19,"spk-select",32)(20,"input",33),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().repeatUnit,o)||(r.scheduleFields.runAgain().repeatUnit=o),C(o)}),a()()(),s(21,"app-toggle-card",34),z(22,35),R(23,9),H(),s(24,"div",36)(25,"spk-toggle",19),y(26,10),s(27,"input",20),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().allowedDays.mon,o)||(r.scheduleFields.runAgain().allowedDays.mon=o),C(o)}),a(),A(),a(),s(28,"spk-toggle",19),y(29,11),s(30,"input",20),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().allowedDays.tue,o)||(r.scheduleFields.runAgain().allowedDays.tue=o),C(o)}),a(),A(),a(),s(31,"spk-toggle",19),y(32,12),s(33,"input",20),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().allowedDays.wed,o)||(r.scheduleFields.runAgain().allowedDays.wed=o),C(o)}),a(),A(),a(),s(34,"spk-toggle",19),y(35,13),s(36,"input",20),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().allowedDays.thu,o)||(r.scheduleFields.runAgain().allowedDays.thu=o),C(o)}),a(),A(),a(),s(37,"spk-toggle",19),y(38,14),s(39,"input",20),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().allowedDays.fri,o)||(r.scheduleFields.runAgain().allowedDays.fri=o),C(o)}),a(),A(),a(),s(40,"spk-toggle",19),y(41,15),s(42,"input",20),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().allowedDays.sat,o)||(r.scheduleFields.runAgain().allowedDays.sat=o),C(o)}),a(),A(),a(),s(43,"spk-toggle",19),y(44,16),s(45,"input",20),K("ngModelChange",function(o){g(e);let r=p();return B(r.scheduleFields.runAgain().allowedDays.sun,o)||(r.scheduleFields.runAgain().allowedDays.sun=o),C(o)}),a(),A(),a()()()}if(t&2){let e=p();l(4),V("ngModel",e.scheduleFields.nextTime().time),l(6),V("ngModel",e.scheduleFields.nextTime().date),l(8),V("ngModel",e.scheduleFields.runAgain().repeatValue),l(),u("options",e.unitOptions)("isClearable",!1),l(),V("ngModel",e.scheduleFields.runAgain().repeatUnit),l(),u("disallowToggle",!0),l(6),V("ngModel",e.scheduleFields.runAgain().allowedDays.mon),l(3),V("ngModel",e.scheduleFields.runAgain().allowedDays.tue),l(3),V("ngModel",e.scheduleFields.runAgain().allowedDays.wed),l(3),V("ngModel",e.scheduleFields.runAgain().allowedDays.thu),l(3),V("ngModel",e.scheduleFields.runAgain().allowedDays.fri),l(3),V("ngModel",e.scheduleFields.runAgain().allowedDays.sat),l(3),V("ngModel",e.scheduleFields.runAgain().allowedDays.sun)}}var Tn=[{key:"s",label:$localize`Seconds`},{key:"m",label:$localize`Minutes`},{key:"h",label:$localize`Hours`},{key:"D",label:$localize`Days`},{key:"W",label:$localize`Weeks`},{key:"M",label:$localize`Months`},{key:"Y",label:$localize`Years`}],$e={autoRun:!0,nextTime:{time:"13:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1}}},It=class t{#n=k(fe);#e=k(pe);#i=k(Ae);unitOptions=Tn;scheduleFields=this.#n.scheduleFields;goBack(){this.#e.navigate(["source-data"],{relativeTo:this.#i.parent})}next(){this.#e.navigate(["options"],{relativeTo:this.#i.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=le({type:t,selectors:[["app-schedule"]],decls:16,vars:2,consts:()=>{let n;n=$localize`Schedule`;let e;e=$localize` Automatically run backups ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let i;i=$localize`If a date was missed, the job will run as soon as possible.`;let o;o=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let r;r=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let c;c=$localize`Next time`;let f;f=$localize`Run again every`;let N;N=$localize`Allowed days`;let w;w=$localize` Monday ${"\uFFFD#27\uFFFD\uFFFD/#27\uFFFD"}:TAG_INPUT:`;let Y;Y=$localize` Tuesday ${"\uFFFD#30\uFFFD\uFFFD/#30\uFFFD"}:TAG_INPUT:`;let I;I=$localize` Wednesday ${"\uFFFD#33\uFFFD\uFFFD/#33\uFFFD"}:TAG_INPUT:`;let G;G=$localize` Thursday ${"\uFFFD#36\uFFFD\uFFFD/#36\uFFFD"}:TAG_INPUT:`;let U;U=$localize` Friday ${"\uFFFD#39\uFFFD\uFFFD/#39\uFFFD"}:TAG_INPUT:`;let oe;oe=$localize` Saturday ${"\uFFFD#42\uFFFD\uFFFD/#42\uFFFD"}:TAG_INPUT:`;let Z;return Z=$localize` Sunday ${"\uFFFD#45\uFFFD\uFFFD/#45\uFFFD"}:TAG_INPUT:`,[["timeRef",""],["dateRef",""],n,e,i,o,r,c,f,N,w,Y,I,G,U,oe,Z,[1,"title-30"],[1,"toggle-wrap"],[1,"raised","primary"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","",1,"raised","primary",3,"click"],[1,"row-inputs"],["for","time"],["type","time","id","time",3,"ngModelChange","focus","ngModel"],["suffix",""],["for","date"],["type","date","id","date",3,"ngModelChange","focus","ngModel"],["for","repeatValue"],["type","number","id","repeatValue",3,"ngModelChange","ngModel"],["value","key","label","label",3,"options","isClearable"],["type","text","id","repeatUnit",3,"ngModelChange","ngModel"],[3,"disallowToggle"],["title",""],[1,"days-wrap"]]},template:function(e,i){e&1&&(s(0,"h3",17),R(1,2),a(),s(2,"div",18)(3,"spk-toggle",19),y(4,3),s(5,"input",20),K("ngModelChange",function(r){return B(i.scheduleFields.autoRun,r)||(i.scheduleFields.autoRun=r),r}),a(),A(),a(),s(6,"p"),R(7,4),a()(),F(8,Sn,46,14),s(9,"div",21)(10,"button",22),P("click",function(){return i.goBack()}),y(11,5),m(12,"spk-icon"),A(),a(),s(13,"button",23),P("click",function(){return i.next()}),y(14,6),m(15,"spk-icon"),A(),a()()),e&2&&(l(5),V("ngModel",i.scheduleFields.autoRun),l(3),T(i.scheduleFields.autoRun()?8:-1))},dependencies:[Xe,_e,We,Ue,ge,Be,me,Ge,ue,be,de,qe],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem 2.5rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.toggle-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.days-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};function Dn(t,n){if(t&1&&(z(0,4),d(1),H()),t&2){let e,i=p();l(),xe((e=i.currentExpressionOption())==null?null:e.startsWith)}}function En(t,n){if(t&1&&(z(0,5),d(1),H()),t&2){let e,i=p();l(),xe((e=i.currentExpressionOption())==null?null:e.endsWith)}}var yn=[{key:"Excludes folders where name contains",value:"-FolderName"},{key:"Excludes folder",value:"-Folder"},{key:"Excludes files where name contains",value:"-FileName"},{key:"Excludes file extension",value:"-Extension"},{key:"Excludes files where name matches regex",value:"-Regex"},{key:"Includes files where name matches regex",value:"+Regex"},{key:"Excludes file group",value:"-FileGroup"},{key:"Includes expression",value:"+Expression"},{key:"Excludes expression",value:"-Expression"},{key:"None",value:"-Unknown"}],St=class t{path=yt.required();osType=yt();pathChange=Et();remove=Et();internalPath=E("");pathType=E("-Expression");currentExpressionOption=v(()=>{let n=this.pathType();return this.expressionOptions().find(e=>e.value===n)});expressionOptions=v(()=>{let e=this.osType()==="Windows"?"\\":"/";return yn.map(i=>i.value==="-Folder"||i.value==="+Folder"?Ee(h({},i),{startsWith:"",endsWith:""}):i.value==="-FolderName"||i.value==="+FolderName"?Ee(h({},i),{startsWith:"*",endsWith:`*${e}`}):i.value==="-FileName"||i.value==="+FileName"?Ee(h({},i),{startsWith:"[.*",endsWith:`[^\\${e}]*]`}):i.value==="-FileGroup"||i.value==="+FileGroup"?Ee(h({},i),{startsWith:"{",endsWith:"}"}):i.value==="-Regex"||i.value==="+Regex"?Ee(h({},i),{startsWith:"[",endsWith:"]"}):i.value==="-Extension"||i.value==="+Extension"?Ee(h({},i),{startsWith:"*.",endsWith:""}):Ee(h({},i),{startsWith:"",endsWith:""}))});pathEffect=st(()=>{let n=this.path(),e=n.slice(1),i=n.startsWith("-")?"-":"+",o=this.osType()==="Windows",r=o?"\\":"/";e.startsWith("%")&&e.endsWith(r)||o&&e.slice(2).startsWith(r)&&e.endsWith(r)||e.startsWith(r)&&e.endsWith(r)?(this.pathType.set(`${i}Folder`),this.internalPath.set(e)):e.startsWith("*")&&e.endsWith(`*${r}`)?(this.pathType.set(`${i}FolderName`),this.internalPath.set(e.slice(1,-2))):e.startsWith("[.*")&&e.endsWith(`[^\\${r}]*]`)?(this.pathType.set(`${i}FileName`),this.internalPath.set(e.slice(3,-7))):e.startsWith("{")&&e.endsWith("}")?(this.pathType.set(`${i}FileGroup`),this.internalPath.set(e.slice(1,-1))):e.startsWith("[")&&e.endsWith("]")?(this.pathType.set(`${i}Regex`),this.internalPath.set(e.slice(1,-1))):e.startsWith("*.")?(this.pathType.set(`${i}Extension`),this.internalPath.set(e.slice(2))):(this.pathType.set(`${i}Expression`),this.internalPath.set(e))});updateFilter(){let n=this.internalPath(),e=this.currentExpressionOption();n!==""&&this.pathChange.emit(`${e?.value.slice(0,1)}${e?.startsWith??""}${n}${e?.endsWith??""}`)}removeFilter(){this.remove.emit()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=le({type:t,selectors:[["app-new-filter"]],inputs:{path:[1,"path"],osType:[1,"osType"]},outputs:{pathChange:"pathChange",remove:"remove"},decls:9,vars:6,consts:()=>{let n;return n=$localize`Select an option...`,[["value","value","label","key",3,"options","isClearable"],["type","text","placeholder",n,3,"ngModelChange","ngModel"],[1,"expression-input"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],["suffix",""],[1,"filter-removal",3,"click"],[1,"spk-primary"]]},template:function(e,i){if(e&1&&(s(0,"spk-select",0)(1,"input",1),K("ngModelChange",function(r){return B(i.pathType,r)||(i.pathType=r),r}),P("ngModelChange",function(){return i.updateFilter()}),a()(),s(2,"spk-form-field",2)(3,"input",3),K("ngModelChange",function(r){return B(i.internalPath,r)||(i.internalPath=r),r}),P("ngModelChange",function(){return i.updateFilter()}),a(),F(4,Dn,2,1,"ng-container",4)(5,En,2,1,"ng-container",5),a(),s(6,"div",6),P("click",function(){return i.removeFilter()}),s(7,"spk-icon",7),d(8,"x-circle"),a()()),e&2){let o,r;u("options",i.expressionOptions())("isClearable",!1),l(),V("ngModel",i.pathType),l(2),V("ngModel",i.internalPath),l(),T(!((o=i.currentExpressionOption())==null||o.startsWith==null)&&o.startsWith.length?4:-1),l(),T(!((r=i.currentExpressionOption())==null||r.endsWith==null)&&r.endsWith.length?5:-1)}},dependencies:[Xe,_e,ge,Be,de,me,ue],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:13.125rem 1fr 1.875rem;gap:.5rem;align-items:flex-end}.expression-input[_ngcontent-%COMP%]{--ff-suffix-bg: var(--base-level-20)}.filter-removal[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;flex:0 0}"],changeDetection:0})};var An=["formRef"],Zt=()=>({standalone:!0});function Pn(t,n){if(t&1){let e=b();s(0,"spk-form-field",42)(1,"input",43),K("ngModelChange",function(o){g(e);let r=p(2);return B(r.editingPath,o)||(r.editingPath=o),C(o)}),a()(),s(2,"button",44),P("click",function(){g(e);let o=p(2);return C(o.updatePath())}),s(3,"spk-icon"),d(4,"floppy-disk"),a()(),s(5,"button",44),P("click",function(){g(e);let o=p(2);return C(o.cancelEditPath())}),s(6,"spk-icon"),d(7,"x-bold"),a()()}if(t&2){let e=p(2);l(),V("ngModel",e.editingPath),u("ngModelOptions",tt(2,Zt))}}function Nn(t,n){if(t&1){let e=b();s(0,"spk-form-field",42),m(1,"input",45),a(),s(2,"button",44),P("click",function(){g(e);let o=p().$implicit,r=p();return C(r.editPath(o))}),s(3,"spk-icon"),d(4,"pen"),a()(),s(5,"button",44),P("click",function(){g(e);let o=p().$implicit,r=p();return C(r.removePath(o))}),s(6,"spk-icon"),d(7,"trash-simple"),a()()}if(t&2){let e=p().$implicit;Vt("readonly",!0),l(),u("ngModel",e)("ngModelOptions",tt(3,Zt))}}function kn(t,n){if(t&1&&(s(0,"div",30),F(1,Pn,8,3)(2,Nn,8,4),a()),t&2){let e=n.$implicit,i=p();l(),T(i.oldPath()===e?1:2)}}function On(t,n){if(t&1){let e=b();s(0,"app-new-filter",47),P("pathChange",function(o){let r=g(e).$index,c=p(2);return C(c.patchPathAt(o,r))})("remove",function(){let o=g(e).$index,r=p(2);return C(r.removePathAt(o))}),a()}if(t&2){let e,i=n.$implicit,o=p(2);u("path",i)("osType",(e=o.osType())!==null&&e!==void 0?e:"")}}function $n(t,n){if(t&1&&ne(0,On,1,2,"app-new-filter",46,te),t&2){let e=p();ie(e.pathArray())}}function Mn(t,n){if(t&1&&(s(0,"div",41)(1,"spk-form-field"),m(2,"input",48),a(),s(3,"spk-select",49),m(4,"input",50),a()()),t&2){let e=p();l(3),u("options",e.sizeOptions())("isClearable",!1)}}var Te=new Ce,wn=["Bytes","KB","MB","GB","TB","PB"],en=(t={path:"",filters:[],excludes:{hidden:!1,system:!1,temporary:!1,filesLargerThan:null}})=>Te.group({path:Te.control(t.path),excludes:Te.group({hidden:Te.control(t.excludes.hidden),system:Te.control(t.excludes.system),temporary:Te.control(t.excludes.temporary),filesLargerThan:Te.group({size:Te.control(null),unit:Te.control(null)})})}),vt=class t{#n=k(fe);#e=k(pe);#i=k(Ae);formRef=Me.required("formRef");sourceDataForm=this.#n.sourceDataForm;sourceDataFormSignal=this.#n.sourceDataFormSignal;newPathCtrl=new ut("");filesLargerThan=v(()=>this.sourceDataFormSignal()?.excludes?.filesLargerThan?.size!==null);sizeOptions=E(wn);osType=this.#n.osType;pathSignal=X(this.sourceDataForm.controls.path.valueChanges);pathArray=v(()=>this.pathSignal()?.split("\0").filter(n=>n.startsWith("-")||n.startsWith("+")||n==="___none___")??[]);nonFilterPaths=v(()=>this.pathSignal()?.split("\0").filter(n=>!n.startsWith("-")&&!n.startsWith("+")&&n!==""));oldPath=E(null);editingPath=E(null);addingNewPath=E(!1);editPath(n){this.oldPath.set(n),this.editingPath.set(n)}updatePath(){let n=this.oldPath(),e=this.editingPath();if(!n||!e||e===n){this.oldPath.set(null),this.editingPath.set(null);return}let i=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(i?.replace(n,e)??""),this.oldPath.set(null),this.editingPath.set(null)}cancelEditPath(){this.oldPath.set(null),this.editingPath.set(null)}removePath(n){let e=this.sourceDataForm.controls.path.value??"",i=e.indexOf(n);if(i===-1)return;let o=i===0?n:"\0"+n,r=e.replace(o,"");this.sourceDataForm.controls.path.setValue(r)}addFilter(n="-*"){let e=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(`${e}\0${n}`)}patchPathAt(n,e){let o=this.sourceDataForm.controls.path.value.split("\0").filter(c=>!c.startsWith("-")&&!c.startsWith("+")).join("\0"),r=this.pathArray().map((c,f)=>f===e?`${n}`:`${c}`).join("\0");this.sourceDataForm.controls.path.setValue(`${o}\0${r}`)}removePathAt(n){let i=this.sourceDataForm.controls.path.value.split("\0").filter(r=>!r.startsWith("-")&&!r.startsWith("+")).join("\0"),o=this.pathArray().filter((r,c)=>c!==n).join("\0");this.sourceDataForm.controls.path.setValue(`${i}\0${o}`)}getPath(){return this.sourceDataForm.value.path??null}toggleFilesLargerThan(){this.sourceDataForm.controls.excludes.value.filesLargerThan?.size===null?this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:50,unit:"MB"}):this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:null,unit:null})}addNewPath(){let n=this.sourceDataForm.controls.path.value,e=this.newPathCtrl.value;this.sourceDataForm.controls.path.setValue(`${n}\0${e}`),this.newPathCtrl.setValue("")}goBack(){this.#e.navigate(["destination"],{relativeTo:this.#i.parent})}next(){this.#e.navigate(["schedule"],{relativeTo:this.#i.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=le({type:t,selectors:[["app-source-data"]],viewQuery:function(e,i){e&1&&we(i.formRef,An,5),e&2&&Re()},decls:56,vars:12,consts:()=>{let n;n=$localize`Path`;let e;e=$localize`Add a direct path`;let i;i=$localize`Hidden files`;let o;o=$localize`System files`;let r;r=$localize`Temporary files`;let c;c=$localize`Source Data`;let f;f=$localize`Folder path`;let N;N=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let w;w=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let Y;Y=$localize`Paths`;let I;I=$localize`Add a path directly from your machine.`;let G;G=$localize`Filters`;let U;U=$localize`Customize your filters.`;let oe;oe=$localize`Add filter`;let Z;Z=$localize`Exclude`;let S;S=$localize`Choose if there’s any files you want to exclude.`;let D;D=$localize` Hidden files ${"\uFFFD#46\uFFFD\uFFFD/#46\uFFFD"}:TAG_INPUT:`;let L;L=$localize` System files ${"\uFFFD#49\uFFFD\uFFFD/#49\uFFFD"}:TAG_INPUT:`;let j;j=$localize` Temporary files ${"\uFFFD#52\uFFFD\uFFFD/#52\uFFFD"}:TAG_INPUT:`;let O;O=$localize` Files larger than `;let ae;ae=$localize`Edit path`;let se;return se=$localize`Select an option...`,[["formRef",""],c,f,N,w,Y,I,G,U,oe,Z,S,D,L,j,O,[3,"submit","formGroup"],[1,"left"],[1,"title-30"],[1,"fill",3,"multiSelect","startingPath","showFiles"],["for","path"],["type","text","id","path","tabindex","4","placeholder",n,"formControlName","path"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[1,"right"],[3,"disallowToggle"],["title",""],["description",""],[1,"paths"],[1,"path"],[1,"row-inputs"],["type","text","placeholder",e,3,"formControl"],["spk-button","","type","button",1,"raised","primary",3,"click"],["type","button","spk-button","","action","",3,"click"],["formGroupName","excludes",3,"disallowToggle"],[1,"raised","primary"],["type","checkbox","placeholder",i,"formControlName","hidden"],["type","checkbox","placeholder",o,"formControlName","system"],["type","checkbox","placeholder",r,"formControlName","temporary"],[1,"raised","primary",3,"click"],["formGroupName","filesLargerThan",1,"row-inputs"],[1,"small"],["type","text","placeholder",ae,3,"ngModelChange","ngModel","ngModelOptions"],["spk-button","","type","button",1,"small",3,"click"],["type","text",3,"ngModel","ngModelOptions"],[3,"path","osType"],[3,"pathChange","remove","path","osType"],["type","number","formControlName","size"],[3,"options","isClearable"],["type","text","formControlName","unit","placeholder",se]]},template:function(e,i){if(e&1){let o=b();s(0,"form",16,0),P("submit",function(){return g(o),C(i.next())}),s(2,"div",17)(3,"h3",18),R(4,1),a(),s(5,"app-file-tree",19)(6,"label",20),R(7,2),a(),m(8,"input",21),a(),s(9,"div",22)(10,"button",23),P("click",function(){return g(o),C(i.goBack())}),y(11,3),m(12,"spk-icon"),A(),a(),s(13,"button",24),y(14,4),m(15,"spk-icon"),A(),a()()(),s(16,"div",25)(17,"app-toggle-card",26),z(18,27),R(19,5),H(),s(20,"p",28),R(21,6),a(),s(22,"div",29),ne(23,kn,3,1,"div",30,te),s(25,"div",31)(26,"spk-form-field"),m(27,"input",32),a(),s(28,"button",33),P("click",function(){return g(o),C(i.addNewPath())}),s(29,"spk-icon"),d(30,"plus"),a()()()()(),s(31,"app-toggle-card",26),z(32,27),R(33,7),H(),s(34,"p",28),R(35,8),a(),s(36,"button",34),P("click",function(){return g(o),C(i.addFilter())}),R(37,9),a(),F(38,$n,2,0),a(),s(39,"app-toggle-card",35),z(40,27),R(41,10),H(),s(42,"p",28),R(43,11),a(),s(44,"spk-toggle",36),y(45,12),m(46,"input",37),A(),a(),s(47,"spk-toggle",36),y(48,13),m(49,"input",38),A(),a(),s(50,"spk-toggle",36),y(51,14),m(52,"input",39),A(),a(),s(53,"spk-toggle",40),P("click",function(){return g(o),C(i.toggleFilesLargerThan())}),R(54,15),a(),F(55,Mn,5,2,"div",41),a()()()}if(e&2){let o;u("formGroup",i.sourceDataForm),l(5),u("multiSelect",!0)("startingPath",i.getPath())("showFiles",!0),l(12),u("disallowToggle",!0),l(6),ie(i.nonFilterPaths()),l(4),u("formControl",i.newPathCtrl),l(4),u("disallowToggle",!0),l(7),T((o=i.pathSignal())!=null&&o.length?38:-1),l(),u("disallowToggle",!0),l(14),ke("active",i.filesLargerThan()),l(2),T(i.filesLargerThan()?55:-1)}},dependencies:[Xe,Ke,_e,We,Ue,ge,Ve,Be,je,mt,ze,He,dt,me,ue,be,Ge,de,St,_t,qe],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;width:100%;flex:1 0;overflow:hidden}form[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;flex:1 0;overflow:hidden}.right[_ngcontent-%COMP%], .left[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:1.5rem}.left[_ngcontent-%COMP%]{padding:2.5rem;overflow:hidden;border-right:1px solid var(--base-level-40)}.right[_ngcontent-%COMP%]{padding:2.5rem 1.5rem;overflow:auto}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}spk-divider[_ngcontent-%COMP%]{margin:.75rem 0}.row-inputs[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content;gap:.25rem}.paths[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.path[_ngcontent-%COMP%]{display:grid;align-items:center;grid-template-columns:1fr min-content min-content;gap:.25rem}"],changeDetection:0})};var tn="1W:1D,4W:1W,12M:1M",De=new Ce,fe=class t{#n=k(pe);#e=k(Le);#i=k(ve);#t=k(Ie);#o=k(gt);generalForm=Jt();sourceDataForm=en();scheduleFields={autoRun:E($e.autoRun),nextTime:E($e.nextTime),runAgain:E($e.runAgain)};destinationForm=nn();settings=E([]);optionsFields={remoteVolumeSize:E("50MB"),backupRetention:E("all"),backupRetentionTime:E(""),backupRetentionVersions:E(0),backupRetentionCustom:E("")};isDraft=E(!1);backupId=E(null);isSubmitting=E(!1);finishedLoading=E(!1);backupDefaults=E(null);isNew=v(()=>this.backupId()==="new");osType=v(()=>this.#e.systemInfo()?.OSType);selectedOptions=E([]);selectedAdvancedFormPair=E([]);destinationFormPair=E({oauthField:null,custom:[],dynamic:[],advanced:[]});notSelectedAdvancedFormPair=v(()=>{let n=this.destinationFormPair()?.advanced??[],e=this.selectedAdvancedFormPair()??[];return n.filter(i=>e.findIndex(o=>o.name===i.name)===-1)});selectedHttpOptions=E([]);notSelectedHttpOptions=v(()=>{let n=this.httpOptions(),e=this.selectedHttpOptions()??[];return n.filter(i=>e.findIndex(o=>o.name===i.name)===-1)});sourceDataFormSignal=X(this.sourceDataForm.valueChanges);destinationFormSignal=X(this.destinationForm.valueChanges);generalFormSignal=X(this.generalForm.valueChanges);encryptionFieldSignal=X(this.generalForm.controls.encryption.valueChanges);destinationOptions=v(()=>this.#e.backendModules()??[]);httpOptions=v(()=>this.#e.systemInfo()?.GenericModules?.find(n=>n.Key==="http-options")?.Options?.map(this.#r)??[]);advancedOptions=v(()=>this.#e.systemInfo()?.Options?.map(this.#r)??[]);#r(n){return{name:n.Name,type:n.Type,shortDescription:n.ShortDescription??void 0,longDescription:n.LongDescription??void 0,options:n.ValidValues}}encryptionOptions=v(()=>{let n=this.#e.systemInfo()?.EncryptionModules??[];return[xt,...n]});nonSelectedOptions=v(()=>this.advancedOptions().sort((n,e)=>n?.name&&e?.name?n?.name.localeCompare(e?.name):0).filter(n=>this.selectedOptions()?.findIndex(e=>e.name===n.name)===-1));addAdvancedFormPairByName(n,e,i){let o=this.notSelectedAdvancedFormPair().find(r=>r.name===n);o&&this.addAdvancedFormPair(o,e,i)}addHttpOptionByName(n,e,i){let o=this.notSelectedHttpOptions().find(r=>r.name===n);o&&this.addHttpOption(o,e,i)}addAdvancedFormPair(n,e,i){let o=this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced,r=i??n.defaultValue;this.createFormField(o,n,r),this.selectedAdvancedFormPair.set([...this.selectedAdvancedFormPair(),n])}addHttpOption(n,e,i){let o=this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced,r=i??n.defaultValue;this.createFormField(o,n,r),this.selectedHttpOptions.set([...this.selectedHttpOptions(),n])}removeAdvancedFormPair(n,e){this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced.removeControl(n.name),this.selectedAdvancedFormPair().findIndex(o=>o.name===n.name)!==-1?this.selectedAdvancedFormPair.update(o=>(o=o.filter(r=>r.name!==n.name),o)):this.selectedHttpOptions.update(o=>(o=o.filter(r=>r.name!==n.name),o))}removeHttpOption(n,e){this.destinationForm.controls.destinations.controls.at(e)?.controls.advanced.removeControl(n.name),this.selectedHttpOptions.update(i=>(i=i.filter(o=>o.name!==n.name),i))}submit(){this.isSubmitting.set(!0);let n=this.#l(),e=this.backupId();e==="new"||!e||this.isDraft()?this.#t.postApiV1Backups({requestBody:n}).pipe(Ze(()=>this.isSubmitting.set(!1))).subscribe({next:i=>{this.exit()},error:i=>{}}):this.#t.putApiV1BackupById({id:e,requestBody:n}).pipe(Ze(()=>this.isSubmitting.set(!1))).subscribe({next:i=>{this.exit()},error:i=>{}})}exit(){this.#i.open(J,{data:{title:$localize`Confirm exit?`,message:$localize`Are you sure you want to exit?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:n=>{n&&(this.#u(),this.#n.navigate(["/"]))}})}updateFieldsFromTargetUrl(n){this.#a(),setTimeout(()=>{this.#s(n)})}#a(){this.destinationFormPair.set({oauthField:null,custom:[],dynamic:[],advanced:[]}),this.selectedAdvancedFormPair.set([]),this.selectedHttpOptions.set([]),this.destinationForm.controls.destinations.clear(),this.destinationForm.reset()}mapSourceDataToForm(n){let e=n.Sources??"",i=n.Filters?.map(f=>`${f.Include?"":"-"}${f.Expression}`)??[],o=n.Settings?.find(f=>f.Name==="--exclude-files-attributes")?.Value??"",r=n.Settings?.find(f=>f.Name==="--skip-files-larger-than")??null,c={path:[...e,...i].join("\0"),excludes:{hiddenFiles:o.includes("hidden"),systemFiles:o.includes("system"),tempFiles:o.includes("temporary"),filesLargerThan:r?.Value?.toUpperCase()??null}};this.sourceDataForm.patchValue(c)}mapDestinationToForm(n){let e=n.TargetURL?wt(n.TargetURL):null;e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced},!0)}#s(n){let e=wt(n);e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced},!0)}mapGeneralToForm(n){let e=n.Settings?.find(c=>c.Name==="encryption-module"),i=n.Settings?.find(c=>c.Name==="passphrase")?.Value??"",o=e?.Value&&e.Value.length?e.Value:"",r={name:n.Name??"",description:n.Description??""};o&&o!==""&&(r.encryption=o),i&&i!==""&&(r.password=i,r.repeatPassword=i),this.generalForm.patchValue(r)}mapScheduleToForm(n){if(!n){this.scheduleFields.autoRun.set(!1);return}let e=this.#o.fromString(n.Repeat)??null,i=this.#p(n.Time);this.scheduleFields.autoRun.set(!0),this.scheduleFields.nextTime.update(o=>h(h({},o),i)),this.scheduleFields.runAgain.set({repeatValue:e?.value??1,repeatUnit:e?.unit??"D",allowedDays:{mon:n.AllowedDays?.includes("mon")??!1,tue:n.AllowedDays?.includes("tue")??!1,wed:n.AllowedDays?.includes("wed")??!1,thu:n.AllowedDays?.includes("thu")??!1,fri:n.AllowedDays?.includes("fri")??!1,sat:n.AllowedDays?.includes("sat")??!1,sun:n.AllowedDays?.includes("sun")??!1}})}mapOptionsToForms(n){let e=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than","dblock-size","passphrase","keep-time","keep-versions","retention-policy"],i=n.Settings?.filter(c=>!e.includes(c.Name)),o=n.Settings?.filter(c=>e.includes(c.Name));this.settings.set(i??[]),i?.forEach(c=>{if(c.Name==="encryption-module"&&this.isNew())return this.generalForm.controls.encryption.setValue(c.Value??"")});var r="all";o?.forEach(c=>{if(c.Name==="dblock-size"&&this.optionsFields.remoteVolumeSize.set(c.Value??"50MB"),c.Name==="keep-time"&&(c.Value??"")!=="")return r="time",this.optionsFields.backupRetentionTime.set(c.Value??"");if(c.Name==="keep-versions"&&(c.Value??"")!=="")return r="versions",this.optionsFields.backupRetentionVersions.set(c.Value?parseInt(c.Value):null);if(c.Name==="retention-policy"&&(c.Value??"")!=="")if(c.Value===tn)r="smart";else return r="custom",this.optionsFields.backupRetentionCustom.set(c.Value??"")}),this.optionsFields.backupRetention.set(r)}getCurrentTargetUrl(){return this.#c(this.destinationForm.controls.destinations)}getScheduleFormValue(){return{autoRun:this.scheduleFields.autoRun(),nextTime:this.scheduleFields.nextTime(),runAgain:this.scheduleFields.runAgain()}}#l(){let n=this.generalForm.value,e=this.getScheduleFormValue(),i=this.sourceDataForm.value,r=this.destinationForm.value.destinations?.length?this.#c(this.destinationForm.controls.destinations):[],c=null;e.runAgain?.repeatUnit&&e.runAgain?.repeatValue&&(c=this.#o.toString(e.runAgain.repeatValue,e.runAgain.repeatUnit));let f=e.runAgain?.allowedDays?Object.entries(e.runAgain?.allowedDays).filter(([G,U])=>U).map(([G,U])=>G):[],N=i.path?.split("\0")??[],w=this.mapFormsToSettings(),Y=Object.entries(i.excludes??{}).filter(([G,U])=>U&&G!=="filesLargerThan").map(([G])=>G),I=i.excludes?.filesLargerThan;return Y.length&&w.push({Name:"--exclude-files-attributes",Value:Y.join(",")}),I&&I.size!==null&&I.unit!==null&&w.push({Name:"--skip-files-larger-than",Value:`${I.size}${I.unit}`}),{Backup:{Name:n.name,Description:n.description,TargetURL:r[0]??null,Sources:N.filter(G=>!G.startsWith("-")),Settings:w,Filters:N.filter(G=>G.startsWith("-")).map((G,U)=>({Order:U,Include:!1,Expression:G.slice(1)}))},Schedule:e.autoRun?{Repeat:c,Time:e.nextTime?.date?new Date(`${e.nextTime.date}T${e.nextTime?.time||"00:00:00"}`).toISOString():null,AllowedDays:f}:null}}mapFormsToSettings(n=[]){let e=this.generalForm.value,i=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than","encryption-module","passphrase","keep-time","keep-versions","retention-policy","dblock-size"],o=[{Name:"--no-encryption",Value:"True"}];e.encryption!==""&&(o=[{Name:"encryption-module",Value:e.encryption??null},{Name:"passphrase",Value:e.password??null}]);let r=[{Name:"dblock-size",Value:this.optionsFields.remoteVolumeSize()}];switch(this.optionsFields.backupRetention()){case"time":r.push({Name:"keep-time",Value:this.optionsFields.backupRetentionTime()});break;case"versions":r.push({Name:"keep-versions",Value:this.optionsFields.backupRetentionVersions()?.toString()??""});break;case"custom":r.push({Name:"retention-policy",Value:this.optionsFields.backupRetentionCustom()});break;case"smart":r.push({Name:"retention-policy",Value:tn});break}let c=[...n,...i],f=this.settings().filter(N=>!c.includes(N.Name)).map(N=>{let w=N.Value;return typeof N.Value=="number"&&(w=N.Value.toString()),typeof N.Value=="boolean"&&(w=N.Value?"True":"False"),{Name:N.Name,Value:w}});return[...o,...r,...f]}#c(n){return n.controls.map(e=>Ct(e.value))}#p(n){if(!n||n?.indexOf("T")===-1)return{time:n??"13:00"};let e=new Date(n);return{time:`${(""+e.getHours()).padStart(2,"0")}:${(""+e.getMinutes()).padStart(2,"0")}`,date:e.toISOString().split("T")[0]}}createFormField(n,e,i){if(e.type==="String"||e.type==="FileTree"||e.type==="FolderTree"||e.type==="Password"||e.type==="Enumeration"||e.type==="NonValidatedSelectableString"||e.type==="Path"){n.addControl(e.name,De.control(i));return}if(e.type==="Size"){n.addControl(e.name,De.control(i));return}if(e.type==="Integer"){n.addControl(e.name,De.control(i?parseInt(i):0));return}if(e.type==="Boolean"){n.addControl(e.name,De.control(i==="true"||i==="True"));return}if(e.type==="Flags"){n.addControl(e.name,De.control(i??""));return}if(e.type==="Timespan"||e.type==="DateTime"){n.addControl(e.name,De.control(i,[Fe.pattern(/([-+]?\d{1,3}[smhDWMY])+/)]));return}}addDestinationFormGroup(n,e,i=!1){let o=Se.find(S=>S.customKey===n||S.key===n),r=o?.key,c=this.destinationOptions().find(S=>S.Key===r),f=this.httpOptions();if(!c||!c.Options)return;let N=o&&o.oauthField?o.oauthField:null,w=o&&o.customFields?o.customFields:{},Y=o&&o.dynamicFields?o.dynamicFields:[],I=o&&o.advancedFields?o.advancedFields:[],G=o&&o.ignoredAdvancedFields?o.ignoredAdvancedFields:[];this.destinationFormPair.set({oauthField:N,custom:[],dynamic:[],advanced:[]});let U=De.group({}),oe=De.group({}),Z=De.group({});w&&Object.entries(w).forEach(([S,D],L)=>{let ae=D,{formElement:j}=ae,O=Lt(ae,["formElement"]);U.addControl(S,j(e?.custom[S])),this.destinationFormPair.update(se=>(se.custom.push(h({order:900+L},O)),se))});for(let S=0;S<c.Options.length;S++){let D=c.Options[S];if(D.Deprecated)continue;let L=Y.find(j=>j===D.Name||D.Aliases?.includes(j.name)||j.name===D.Name);if(L){let j=D.Aliases?.indexOf(L.name)??-1,O=D.Aliases&&j>-1?D.Aliases[j]:D.Name,ae=L&&typeof L!="string",se=ae?L?.defaultValue??D.DefaultValue:D.DefaultValue,x={name:O,type:D.Type,shortDescription:D.ShortDescription??void 0,longDescription:D.LongDescription??void 0,options:D.ValidValues,order:900+S},Qe=ae?h(h({},x),L):x,ee=e?.dynamic[O]??se??D.DefaultValue;this.createFormField(oe,Qe,ee),this.destinationFormPair.update(Gt=>(Gt.dynamic.push(Qe),Gt))}else{if(G.find(ee=>ee===D.Name))continue;let O=I.find(ee=>ee===D.Name||ee.name===D.Name),ae=O&&typeof O!="string",se=e?.advanced[D.Name],x=se??D.DefaultValue,Qe={name:D.Name,type:D.Type,shortDescription:D.ShortDescription??void 0,longDescription:D.LongDescription??void 0,options:D.ValidValues,defaultValue:x,order:900+S},rt=ae?h(h({},Qe),O):Qe;i&&se&&(this.createFormField(Z,rt,x),this.selectedAdvancedFormPair.update(ee=>(ee.push(rt),ee))),this.destinationFormPair.update(ee=>(ee.advanced.push(rt),ee))}}for(let S=0;S<f.length;S++){let D=f[S],L=e?.advanced[D.name],j=L??D.defaultValue;i&&L&&(this.createFormField(Z,D,j),this.selectedHttpOptions.update(O=>(O.push(D),O)))}this.destinationFormPair.update(S=>({oauthField:S.oauthField,custom:S.custom.sort((D,L)=>D.order-L.order),dynamic:S.dynamic.sort((D,L)=>D.order-L.order),advanced:S.advanced.sort((D,L)=>D.order-L.order)})),this.destinationForm.controls.destinations.push(on({key:o?.customKey??n,customGroup:U,dynamicGroup:oe,advancedGroup:Z}))}#u(){this.generalForm.reset(),this.destinationForm.controls.destinations.clear(),this.destinationForm.reset(),this.sourceDataForm.reset(),this.scheduleFields.autoRun.set($e.autoRun),this.scheduleFields.nextTime.set($e.nextTime),this.scheduleFields.runAgain.set($e.runAgain),this.optionsFields.remoteVolumeSize.set("50MB"),this.optionsFields.backupRetention.set("all"),this.settings.set([])}static \u0275fac=function(e){return new(e||t)};static \u0275prov=ye({token:t,factory:t.\u0275fac,providedIn:"root"})};var Rn=["formRef"],xn=(t,n,e,i)=>({index:t,formView:n,formGroupName:"custom",destinationType:e,oauthField:i}),Dt=t=>({$implicit:t}),In=(t,n,e,i)=>({index:t,formView:n,formGroupName:"dynamic",destinationType:e,oauthField:i}),vn=(t,n,e,i)=>({index:t,formView:n,formGroupName:"advanced",destinationType:e,oauthField:i}),bn=(t,n,e,i)=>({index:t,formView:n,formGroupName:"advanced",asHttpOptions:!0,destinationType:e,oauthField:i}),Gn=()=>({maxWidth:"700px",width:"100%"});function Ln(t,n){t&1&&(y(0,5,2),m(1,"spk-icon"),A())}function Un(t,n){t&1&&R(0,5,3)}function Vn(t,n){if(t&1){let e=b();y(0,5,1),s(1,"button",21),P("click",function(){g(e);let o=p();return C(o.testDestination())}),F(2,Ln,2,0)(3,Un,1,0),a(),A()}if(t&2){let e=p();l(),ke("success",e.successfulTest()),l(),T(e.successfulTest()?2:3)}}function Bn(t,n){if(t&1){let e=b();s(0,"p",27),P("click",function(){g(e);let o=p();return C(o.removeDestinationFormGroup(o.destinationCount()-1))}),y(1,8),m(2,"span",28),A(),a()}}function Kn(t,n){if(t&1){let e=b();s(0,"div",34),P("click",function(){let o=g(e).$implicit,r=p(2);return C(r.addDestinationFormGroup(o.key))}),s(1,"h3"),d(2),a(),s(3,"p"),d(4),a()()}if(t&2){let e=n.$implicit;l(2),xe(e.displayName),l(2),xe(e.description)}}function Wn(t,n){if(t&1){let e=b();s(0,"button",35,1),P("click",function(){let o=g(e).$implicit,r=p(2);return C(r.addDestinationFormGroup(o.key))}),d(2),a()}if(t&2){let e=n.$implicit;l(2),q(" ",e.displayName," ")}}function zn(t,n){if(t&1&&(s(0,"div",29),ne(1,Kn,5,2,"div",30,te),a(),s(3,"spk-menu",31)(4,"button",32),R(5,9),a(),z(6,20),ne(7,Wn,3,1,"button",33,te),H(),a()),t&2){let e=p();l(),ie(e.destinationTypeOptionsFocused()),l(2),u("searchable",!0),l(4),ie(e.destinationTypeOptionsNotFocused())}}function Hn(t,n){t&1&&et(0)}function Xn(t,n){if(t&1&&F(0,Hn,1,0,"ng-container",40),t&2){let e,i=n.$implicit,o=n.$index;p();let r=re(29),c=p();u("ngTemplateOutlet",r)("ngTemplateOutletContext",nt(7,Dt,it(2,xn,o,i,(e=c.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,c.destinationFormPair().oauthField)))}}function jn(t,n){t&1&&et(0)}function qn(t,n){if(t&1&&F(0,jn,1,0,"ng-container",40),t&2){let e,i=n.$implicit,o=n.$index;p();let r=re(29),c=p();u("ngTemplateOutlet",r)("ngTemplateOutletContext",nt(7,Dt,it(2,In,o,i,(e=c.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,c.destinationFormPair().oauthField)))}}function Yn(t,n){if(t&1){let e=b();y(0,10,1),s(1,"button",35,1),P("click",function(){let o=g(e).$implicit,r=p(2);return C(r.addAdvancedFormPair(o,0))}),a(),A()}if(t&2){let e=n.$implicit;l(),At(e.name),Pt(0)}}function Qn(t,n){t&1&&et(0)}function Jn(t,n){if(t&1&&F(0,Qn,1,0,"ng-container",40),t&2){let e,i=n.$implicit,o=n.$index;p();let r=re(29),c=p();u("ngTemplateOutlet",r)("ngTemplateOutletContext",nt(7,Dt,it(2,vn,o,i,(e=c.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,c.destinationFormPair().oauthField)))}}function Zn(t,n){if(t&1){let e=b();y(0,11,1),s(1,"button",35,1),P("click",function(){let o=g(e).$implicit,r=p(2);return C(r.addHttpOption(o,0))}),a(),A()}if(t&2){let e=n.$implicit;l(),At(e.name),Pt(0)}}function ei(t,n){t&1&&et(0)}function ti(t,n){if(t&1&&F(0,ei,1,0,"ng-container",40),t&2){let e,i=n.$implicit,o=n.$index;p();let r=re(29),c=p();u("ngTemplateOutlet",r)("ngTemplateOutletContext",nt(7,Dt,it(2,bn,o,i,(e=c.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,c.destinationFormPair().oauthField)))}}function ni(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(2).$implicit;u("message",e.formView.longDescription)}}function ii(t,n){if(t&1&&(s(0,"app-file-tree",43)(1,"label",47),d(2),F(3,ni,3,1,"spk-tooltip",48),a(),m(4,"input",49),a()),t&2){let e,i=p().$implicit,o=p(2);u("startingPath",o.getFormFieldValue(0,i.formGroupName,i.formView.name))("accepts",i.formView.accepts)("showFiles",!0)("hideShortcuts",!0)("showHiddenNodes",!0)("selectFiles",!0),l(),W("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),l(),q(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),l(),T(i.formView.longDescription?3:-1),l(),W("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),ce("formControlName",i.formView.name)}}function oi(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(2).$implicit;u("message",e.formView.longDescription)}}function ri(t,n){if(t&1&&(s(0,"app-file-tree",44)(1,"label",47),d(2),F(3,oi,3,1,"spk-tooltip",48),a(),m(4,"input",49),a()),t&2){let e,i=p().$implicit,o=p(2);u("hideShortcuts",!0)("startingPath",o.getFormFieldValue(0,i.formGroupName,i.formView.name)),l(),W("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),l(),q(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),l(),T(i.formView.longDescription?3:-1),l(),W("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),ce("formControlName",i.formView.name)}}function ai(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(2).$implicit;u("message",e.formView.longDescription)}}function si(t,n){t&1&&(s(0,"spk-icon",51),d(1,"link"),a())}function li(t,n){t&1&&(s(0,"spk-icon",51),d(1,"envelope"),a())}function ci(t,n){t&1&&(s(0,"spk-icon",51),d(1,"textbox"),a())}function pi(t,n){if(t&1&&(s(0,"spk-form-field")(1,"label",47),d(2),F(3,ai,3,1,"spk-tooltip",48),a(),m(4,"input",50),F(5,si,2,0,"spk-icon",51)(6,li,2,0,"spk-icon",51)(7,ci,2,0,"spk-icon",51),a()),t&2){let e,i=p().$implicit;l(),W("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),l(),q(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),l(),T(i.formView.longDescription?3:-1),l(),W("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),ce("formControlName",i.formView.name),u("type",i.formView.type==="Email"?"email":"text"),l(),T(i.formView.type==="Path"?5:i.formView.type==="Email"?6:7)}}function ui(t,n){if(t&1){let e=b();s(0,"span",55),P("click",function(){g(e);let o=p(2).$implicit,r=p(2);return C(r.oauthStartTokenCreation(o.destinationType))}),d(1,"AuthID"),a()}}function mi(t,n){t&1&&(s(0,"spk-icon",51),d(1,"password"),a())}function di(t,n){if(t&1){let e=b();s(0,"spk-icon",56),P("click",function(){g(e);let o=p(2).$implicit;return C(o.formView.showPassword=!o.formView.showPassword)}),d(1," eye "),a()}}function _i(t,n){if(t&1){let e=b();s(0,"spk-icon",56),P("click",function(){g(e);let o=p(2).$implicit;return C(o.formView.showPassword=!o.formView.showPassword)}),d(1," eye-slash "),a()}}function Fi(t,n){if(t&1&&(s(0,"spk-form-field")(1,"label",47),d(2),a(),m(3,"input",52),F(4,ui,2,0,"span",53)(5,mi,2,0,"spk-icon",51)(6,di,2,0,"spk-icon",54)(7,_i,2,0,"spk-icon",54),a()),t&2){let e,i=p().$implicit;l(),W("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),l(),q(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),l(),W("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),ce("formControlName",i.formView.name),u("type",i.formView.showPassword?"text":"password"),l(),T(i.oauthField===i.formView.name?4:5),l(2),T(i.formView.showPassword?6:7)}}function gi(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(3).$implicit;u("message",e.formView.longDescription)}}function Ci(t,n){if(t&1&&d(0),t&2){let e=p().$implicit;Nt(" ",e==null?null:e.key," (",e==null?null:e.value,") ")}}function hi(t,n){if(t&1&&d(0),t&2){let e=p().$implicit;q(" ",e," ")}}function fi(t,n){if(t&1&&F(0,Ci,1,2)(1,hi,1,1),t&2){let e=p(3).$implicit;T(e.formView.loadOptions?0:1)}}function Si(t,n){if(t&1&&(s(0,"spk-select",57)(1,"label",47),d(2),F(3,gi,3,1,"spk-tooltip",48),a(),m(4,"input",49),a(),F(5,fi,2,1,"ng-template",null,3,ot)),t&2){let e,i=re(6);p();let o=$t(0),r=p().$implicit;u("options",o)("isClearable",!1)("optionTemplate",i),l(),W("for","destination-",r.formGroupName,"-",r.index,"-",r.asHttpOptions?"http":"other",""),l(),q(" ",(e=r.formView.shortDescription)!==null&&e!==void 0?e:r.formView.name," "),l(),T(r.formView.longDescription?3:-1),l(),W("id","destination-",r.formGroupName,"-",r.index,"-",r.asHttpOptions?"http":"other",""),ce("formControlName",r.formView.name)}}function Ti(t,n){if(t&1&&(kt(0),F(1,Si,7,14)),t&2){let e=p().$implicit,i=Ot(e.formView.loadOptions?e.formView.loadOptions(p(2).injector)():e.formView.options);l(),T(i?1:-1)}}function Di(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(3).$implicit;u("message",e.formView.longDescription)}}function Ei(t,n){if(t&1&&d(0),t&2){let e=n.$implicit;Nt(" ",e.key," ",e.value?"("+e.value+")":""," ")}}function yi(t,n){if(t&1&&(s(0,"spk-select",59)(1,"label",47),d(2),F(3,Di,3,1,"spk-tooltip",48),a(),m(4,"input",49),a(),F(5,Ei,1,2,"ng-template",null,4,ot)),t&2){let e,i=re(6);p();let o=$t(0),r=p().$implicit;u("options",o)("asFreeText",!0)("inlineSearch",!0)("optionTemplate",i),l(),W("for","destination-",r.formGroupName,"-",r.index,"-",r.asHttpOptions?"http":"other",""),l(),q(" ",(e=r.formView.shortDescription)!==null&&e!==void 0?e:r.formView.name," "),l(),T(r.formView.longDescription?3:-1),l(),W("id","destination-",r.formGroupName,"-",r.index,"-",r.asHttpOptions?"http":"other",""),ce("formControlName",r.formView.name)}}function Ai(t,n){t&1&&m(0,"spk-progress-bar",58)}function Pi(t,n){if(t&1&&(kt(0),F(1,yi,7,15)(2,Ai,1,0,"spk-progress-bar",58)),t&2){let e=p().$implicit,i=Ot(e.formView.loadOptions?e.formView.loadOptions(p(2).injector)():e.formView.options);l(),T(i?1:2)}}function Ni(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(2).$implicit;u("message",e.formView.longDescription)}}function ki(t,n){if(t&1&&(s(0,"app-size",45)(1,"label",47),d(2),F(3,Ni,3,1,"spk-tooltip",48),a()()),t&2){let e,i=p().$implicit;u("inputType",i.Name)("formControlName",i.formView.name)("customId",`destination-{{ item.formGroupName }}-{{ item.index }}-{{
7
+ item.asHttpOptions ? 'http' : 'other'
8
+ }}`),l(),W("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),l(),q(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),l(),T(i.formView.longDescription?3:-1)}}function Oi(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(2).$implicit;u("message",e.formView.longDescription)}}function $i(t,n){if(t&1&&(s(0,"spk-form-field")(1,"label",47),d(2),F(3,Oi,3,1,"spk-tooltip",48),a(),m(4,"input",60),s(5,"spk-icon",51),d(6,"numpad"),a()()),t&2){let e,i=p().$implicit;l(),W("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),l(),q(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),l(),T(i.formView.longDescription?3:-1),l(),W("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),ce("formControlName",i.formView.name)}}function Mi(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(2).$implicit;u("message",e.formView.longDescription)}}function wi(t,n){if(t&1&&(s(0,"spk-toggle",46)(1,"label",47),d(2),F(3,Mi,3,1,"spk-tooltip",48),a(),m(4,"input",61),a()),t&2){let e,i=p().$implicit;l(),W("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),l(),q(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),l(),T(i.formView.longDescription?3:-1),l(),W("id","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),ce("formControlName",i.formView.name)}}function Ri(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(2).$implicit;u("message",e.formView.longDescription)}}function xi(t,n){if(t&1&&d(0),t&2){let e=n.$implicit;q(" ",e," ")}}function Ii(t,n){if(t&1&&(s(0,"spk-select",62)(1,"label",47),d(2),F(3,Ri,3,1,"spk-tooltip",48),a(),m(4,"input",63),a(),F(5,xi,1,1,"ng-template",null,4,ot)),t&2){let e,i=re(6),o=p().$implicit;u("options",o.formView.options)("selectMultiple",!0)("optionTemplate",i),l(),Bt("for","destination-",o.formGroupName,"-",o.index,""),l(),q(" ",(e=o.formView.shortDescription)!==null&&e!==void 0?e:o.formView.name," "),l(),T(o.formView.longDescription?3:-1),l(),ce("formControlName",o.formView.name)}}function vi(t,n){if(t&1&&(s(0,"spk-tooltip",48)(1,"spk-icon"),d(2,"question"),a()()),t&2){let e=p(2).$implicit;u("message",e.formView.longDescription)}}function bi(t,n){if(t&1&&(s(0,"app-timespan",45)(1,"label",47),d(2),F(3,vi,3,1,"spk-tooltip",48),a()()),t&2){let e,i=p().$implicit;u("inputType",i.formView.name)("formControlName",i.formView.name)("customId","destination-"+i.formGroupName+"-"+i.index+"-"+(i.asHttpOptions?"http":"other")),l(),W("for","destination-",i.formGroupName,"-",i.index,"-",i.asHttpOptions?"http":"other",""),l(),q(" ",(e=i.formView.shortDescription)!==null&&e!==void 0?e:i.formView.name," "),l(),T(i.formView.longDescription?3:-1)}}function Gi(t,n){if(t&1){let e=b();s(0,"button",64),P("click",function(){g(e);let o=p().$implicit,r=p(2);return C(r.removeFormView(o.formView,0))}),s(1,"spk-icon"),d(2,"x-circle"),a()()}}function Li(t,n){if(t&1&&(s(0,"div",41),z(1,42),F(2,ii,5,17,"app-file-tree",43)(3,ri,5,13,"app-file-tree",44)(4,pi,8,13,"spk-form-field")(5,Fi,8,13,"spk-form-field")(6,Ti,2,2)(7,Pi,3,2)(8,ki,4,9,"app-size",45)(9,$i,7,11,"spk-form-field")(10,wi,5,11,"spk-toggle",46)(11,Ii,7,9)(12,bi,4,9,"app-timespan",45),H(),F(13,Gi,3,0,"button",32),a()),t&2){let e=n.$implicit;ke("single-field",e.formGroupName!=="advanced"),l(),u("formGroupName",e.formGroupName),l(),T(e.formView.type==="FileTree"?2:e.formView.type==="FolderTree"?3:e.formView.type==="String"||e.formView.type==="Path"||e.formView.type==="Email"?4:e.formView.type==="Password"?5:e.formView.type==="Enumeration"?6:e.formView.type==="NonValidatedSelectableString"?7:e.formView.type==="Size"?8:e.formView.type==="Integer"?9:e.formView.type==="Boolean"?10:e.formView.type==="Flags"?11:e.formView.type==="Timespan"||e.formView.type==="DateTime"?12:-1),l(11),T(e.formGroupName==="advanced"?13:-1)}}function Ui(t,n){if(t&1&&(z(0,22)(1,36),ne(2,Xn,1,9,"ng-container",null,te),ne(4,qn,1,9,"ng-container",null,te),s(6,"app-toggle-card",37),z(7,38),y(8,10),s(9,"spk-menu",31)(10,"button",39),m(11,"spk-icon"),a(),z(12,20),ne(13,Yn,3,1,"button",33,te),H(),a(),A(),H(),ne(15,Jn,1,9,"ng-container",null,te),a(),s(17,"app-toggle-card",37),z(18,38),y(19,11),s(20,"spk-menu",31)(21,"button",39),m(22,"spk-icon"),a(),z(23,20),ne(24,Zn,3,1,"button",33,te),H(),a(),A(),H(),ne(26,ti,1,9,"ng-container",null,te),a(),F(28,Li,14,5,"ng-template",null,2,ot),H()()),t&2){let e=p();l(2),ie(e.destinationFormPair().custom),l(2),ie(e.destinationFormPair().dynamic),l(2),u("disallowToggle",!0),l(3),u("searchable",!0),l(),u("disabled",e.notSelectedAdvancedFormPair().length===0),l(3),ie(e.notSelectedAdvancedFormPair()),l(2),ie(e.selectedAdvancedFormPair()),l(2),u("disallowToggle",!0),l(3),u("searchable",!0),l(),u("disabled",e.notSelectedHttpOptions().length===0),l(3),ie(e.notSelectedHttpOptions()),l(2),ie(e.selectedHttpOptions())}}function Vi(t,n){if(t&1){let e=b();s(0,"spk-dialog",65),K("isOpenChange",function(o){g(e);let r=p();return B(r.targetUrlDialogOpen,o)||(r.targetUrlDialogOpen=o),C(o)}),s(1,"header",66)(2,"h2"),R(3,12),a(),s(4,"spk-alert",67),R(5,13),a()(),s(6,"div",68)(7,"spk-form-field"),m(8,"textarea",69),a()(),s(9,"footer",70)(10,"button",24),P("click",function(){g(e);let o=p();return C(o.closeTargetUrlDialog(!1))}),d(11,"Cancel"),a(),s(12,"button",71),P("click",function(){g(e);let o=p();return C(o.closeTargetUrlDialog(!0))}),y(13,14),m(14,"spk-icon"),A(),a()()()}if(t&2){let e=p();V("isOpen",e.targetUrlDialogOpen),u("options",tt(3,Gn)),l(8),u("formControl",e.targetUrlCtrl)}}var Tt=new Ce,nn=(t={destinations:[]})=>Tt.group({destinations:Tt.array(t.destinations)}),on=({key:t,customGroup:n,dynamicGroup:e,advancedGroup:i})=>Tt.group({destinationType:Tt.control(t),custom:n,dynamic:e,advanced:i}),bt=class t{#n=k(pe);#e=k(Ae);#i=k(Wt);#t=k(fe);#o=k(ve);#r=k(Ft);injector=k(Ut);formRef=Me.required("formRef");destinationForm=this.#t.destinationForm;destinationFormPair=this.#t.destinationFormPair;selectedAdvancedFormPair=this.#t.selectedAdvancedFormPair;notSelectedAdvancedFormPair=this.#t.notSelectedAdvancedFormPair;selectedHttpOptions=this.#t.selectedHttpOptions;notSelectedHttpOptions=this.#t.notSelectedHttpOptions;destinationOptions=this.#t.destinationOptions;destinationFormSignal=this.#t.destinationFormSignal;destinationCount=v(()=>this.destinationFormSignal()?.destinations?.length??0);successfulTest=E(!1);destinationTypeOptionsInFocus=E(["file","ssh","s3","gcs","googledrive","azure"]);destinationTypeOptions=E(Se.map(n=>({key:n.customKey??n.key,customKey:n.customKey??null,displayName:n.displayName,description:n.description})));destinationTypeOptionsFocused=v(()=>{let n=this.destinationTypeOptionsInFocus(),e=this.destinationTypeOptions();return n.map(i=>e.find(o=>o.key===i))});destinationTypeOptionsNotFocused=v(()=>{let n=this.destinationTypeOptionsInFocus();return this.destinationTypeOptions().filter(i=>!n.includes(i.key))});getFormFieldValue(n,e,i){return((this.destinationForm.controls.destinations.controls?.[n]).controls?.[e]).controls[i].value}addDestinationFormGroup(n){this.#t.addDestinationFormGroup(n)}addAdvancedFormPair(n,e){this.#t.addAdvancedFormPair(n,e)}removeFormView(n,e){this.#t.removeAdvancedFormPair(n,e)}addHttpOption(n,e){this.#t.addHttpOption(n,e)}targetUrl=v(()=>this.#t.getCurrentTargetUrl()[0]);targetUrlCtrl=new ut;targetUrlInitial=E(null);targetUrlDialogOpen=E(!1);openTargetUrlDialog(){let e=this.#t.getCurrentTargetUrl()[0];this.targetUrlCtrl.setValue(e),this.targetUrlInitial.set(e),this.targetUrlDialogOpen.set(!0)}closeTargetUrlDialog(n=!1){this.targetUrlDialogOpen.set(!1);let e=this.targetUrlCtrl.value,i=this.targetUrlInitial();!n||e===i||this.#t.updateFieldsFromTargetUrl(this.targetUrlCtrl.value)}testDestination(n=0){let i=this.#t.getCurrentTargetUrl()[n];i&&this.#r.testDestination(i,n,!0).subscribe({next:o=>{if(o.action==="success"){this.#t.isNew()&&(o.containsBackup===!0?this.#o.open(J,{data:{title:$localize`Folder contains backup`,message:$localize`The remote destination already contains a backup. You must use a different folder for each backup.`,confirmText:$localize`OK`,cancelText:void 0}}):o.anyFilesFound===!0&&this.#o.open(J,{data:{title:$localize`Folder is not empty`,message:$localize`The remote destination is not empty. It is recommended to use an empty folder for the backup.`,confirmText:$localize`OK`,cancelText:void 0}})),this.successfulTest.set(!0),setTimeout(()=>{this.successfulTest.set(!1)},3e3);return}if(o.action==="generic-error"){this.successfulTest.set(!1);return}o.action==="trust-cert"&&this.#t.addHttpOptionByName("accept-specified-ssl-hash",o.destinationIndex,o.certData),o.action==="approve-host-key"&&this.#t.addHttpOptionByName("accept-specified-host-key",o.destinationIndex,o.reportedHostKey),o.testAgain&&this.testDestination(o.destinationIndex)}})}mapToTargetUrl(n){return Ct(n.value)}removeDestinationFormGroup(n){this.destinationForm.controls.destinations.removeAt(n)}displayFn(n){let e=this.destinationOptions().find(i=>i.Key===n);return e?`${e.DisplayName}`:""}goBack(){this.#n.navigate(["general"],{relativeTo:this.#e.parent})}next(){this.#n.navigate(["source-data"],{relativeTo:this.#e.parent})}#a=E("https://duplicati-oauth-handler.appspot.com/").asReadonly();#s=E(Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).asReadonly();#l=E(!1);#c=E(null);keyCreation(){}oauthStartTokenCreation(n){this.#l.set(!0);let e=450,i=600,o=this.#a()+"?type="+n+"&token="+this.#s(),r=screen.width/2-e/2,c=screen.height/2-i/2,f=window.open(o,"_blank","height="+i+",width="+e+",menubar=0,status=0,titlebar=0,toolbar=0,left="+r+",top="+c);f?.addEventListener("blur",N=>{console.log("event blur",N)}),f?.addEventListener("beforeunload",N=>{console.log("event beforeunload",N),this.#i.get(this.#a()+"fetch?callback=JSON_CALLBACK",{params:{token:this.#s()}}).pipe(Ze(()=>this.#l.set(!1))).subscribe({next:w=>{console.log("res",w),w?.authid&&this.#c.set(w.authid)}})})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=le({type:t,selectors:[["app-destination"]],viewQuery:function(e,i){e&1&&we(i.formRef,Rn,5),e&2&&Re()},decls:24,vars:6,consts:()=>{let n;n=$localize` Backup destination ${"\uFFFD#5\uFFFD"}:START_TAG_DIV:${"\uFFFD*6:1\uFFFD"}:START_BLOCK_IF_1:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON:${"\uFFFD*2:2\uFFFD"}:START_BLOCK_IF: Connected ${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:check${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/*2:2\uFFFD|\uFFFD/*6:1\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD*3:3\uFFFD"}:START_BLOCK_ELSE: Test destination ${"\uFFFD/*3:3\uFFFD"}:CLOSE_BLOCK_ELSE:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"[\uFFFD/*2:2\uFFFD|\uFFFD/*6:1\uFFFD]"}:CLOSE_BLOCK_IF:${"\uFFFD#7\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#8\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:dots-three-vertical${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#10\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD#11\uFFFD"}:START_TAG_BUTTON_2:${"[\uFFFD#1:2\uFFFD|\uFFFD#9\uFFFD|\uFFFD#12\uFFFD]"}:START_TAG_SPK_ICON:link${"[\uFFFD/#1:2\uFFFD|\uFFFD/#9\uFFFD|\uFFFD/#12\uFFFD]"}:CLOSE_TAG_SPK_ICON: Edit target URL ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#8\uFFFD|\uFFFD/#11\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_MENU:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_DIV:`,n=Oe(n);let e;e=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let i;i=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let o;o=$localize` Want to select another destination? ${"\uFFFD#2\uFFFD"}:START_TAG_SPAN:Click here${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPAN:`;let r;r=$localize`Other destinations`;let c;c=$localize` Advanced options ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#10\uFFFD"}:START_TAG_BUTTON: Add advanced option ${"\uFFFD#11\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#10\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#12\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*14:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1: ${"\uFFFD0:1\uFFFD"}:INTERPOLATION: ${"[\uFFFD/#10\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*14:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_MENU:`,c=Oe(c);let f;f=$localize` Http options ${"\uFFFD#20\uFFFD"}:START_TAG_SPK_MENU:${"\uFFFD#21\uFFFD"}:START_TAG_BUTTON: Add http option ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:${"[\uFFFD/#21\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#23\uFFFD"}:START_TAG_NG_CONTAINER:${"\uFFFD*25:1\uFFFD"}:START_BLOCK_FOR:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON_1: ${"\uFFFD0:1\uFFFD"}:INTERPOLATION: ${"[\uFFFD/#21\uFFFD|\uFFFD/#1:1\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/*25:1\uFFFD"}:CLOSE_BLOCK_FOR:${"\uFFFD/#23\uFFFD"}:CLOSE_TAG_NG_CONTAINER:${"\uFFFD/#20\uFFFD"}:CLOSE_TAG_SPK_MENU:`,f=Oe(f);let N;N=$localize`Edit target URL`;let w;w=$localize` Be careful, this will overwrite everything you have in your destination. `;let Y;return Y=$localize` Override target URL ${"\uFFFD#14\uFFFD"}:START_TAG_SPK_ICON:swap${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[["formRef",""],["option",""],["fieldTemplate",""],["enumOptionTemplate",""],["optionTemplate",""],n,e,i,o,r,c,f,N,w,Y,[3,"submit","formGroup"],[1,"title-30"],[1,"actions"],["spk-button","","type","button",1,"small",3,"success"],["spk-button","","type","button",1,"small"],["menu",""],["spk-button","","type","button",1,"small",3,"click"],["formArrayName","destinations"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[3,"isOpen","options"],[3,"click"],[1,"spk-primary"],[1,"most-common-destinations"],[1,"tile"],[3,"searchable"],["spk-button","","type","button",1,"outlined"],["type","button"],[1,"tile",3,"click"],["type","button",3,"click"],["formGroupName","0"],[3,"disallowToggle"],["title",""],["spk-button","","type","button",1,"outlined","small",3,"disabled"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"field-row"],[3,"formGroupName"],[3,"startingPath","accepts","showFiles","hideShortcuts","showHiddenNodes","selectFiles"],[3,"hideShortcuts","startingPath"],[3,"inputType","formControlName","customId"],[1,"primary","raised"],[3,"for"],[1,"primary",3,"message"],["type","text",3,"id","formControlName"],[3,"type","id","formControlName"],["prefix",""],["autocomplete","off",3,"type","id","formControlName"],["prefix","",1,"link"],["suffix","",1,"clickable"],["prefix","",1,"link",3,"click"],["suffix","",1,"clickable",3,"click"],[3,"options","isClearable","optionTemplate"],[1,"indeterminate","primary"],["label","key","value","value",3,"options","asFreeText","inlineSearch","optionTemplate"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],[1,"primary","raised",3,"options","selectMultiple","optionTemplate"],["type","text","id","text",3,"formControlName"],["spk-button","","type","button",1,"outlined",3,"click"],[3,"isOpenChange","isOpen","options"],["header",""],[1,"warning"],["content",""],["id","targetUrl","autocomplete","off",3,"formControl"],["footer",""],["spk-button","","type","submit",1,"raised","primary",3,"click"]]},template:function(e,i){if(e&1){let o=b();s(0,"form",15,0),P("submit",function(){return g(o),C(i.next())}),s(2,"header")(3,"h3",16),y(4,5),s(5,"div",17),F(6,Vn,4,3,"button",18),s(7,"spk-menu")(8,"button",19),m(9,"spk-icon"),a(),z(10,20),s(11,"button",21),P("click",function(){return g(o),C(i.openTargetUrlDialog())}),m(12,"spk-icon"),a(),H(),a()(),A(),a(),F(13,Bn,3,0,"p"),a(),F(14,zn,9,1)(15,Ui,30,6,"ng-container",22),s(16,"div",23)(17,"button",24),P("click",function(){return g(o),C(i.goBack())}),y(18,6),m(19,"spk-icon"),A(),a(),s(20,"button",25),y(21,7),m(22,"spk-icon"),A(),a()()(),F(23,Vi,15,4,"spk-dialog",26)}if(e&2){let o;u("formGroup",i.destinationForm),l(6),T(i.destinationCount()>0?6:-1),l(7),T(i.destinationCount()>0?13:-1),l(),T(i.destinationCount()===0?14:-1),l(),T(!((o=i.destinationFormSignal())==null||o.destinations==null)&&o.destinations.length?15:-1),l(8),T(i.targetUrlDialogOpen()?23:-1)}},dependencies:[je,Ke,_e,We,Ue,ge,Ve,mt,ze,He,dt,Xt,Kt,me,Ht,ue,Ge,pt,zt,lt,de,ct,Qt,qe,_t,Yt],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] spk-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}pre[_ngcontent-%COMP%]{white-space:pre-wrap}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row.single-field[_ngcontent-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;align-items:flex-end}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-500)}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1);background-color:var(--base-level-20);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}[prefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-500)}textarea[_ngcontent-%COMP%] ~ grammarly-extension[_ngcontent-%COMP%]{display:none}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}"],changeDetection:0})};export{Ft as a,Ct as b,Se as c,nn as d,on as e,bt as f,Jt as g,xt as h,Rt as i,$e as j,It as k,en as l,vt as m,fe as n};
@@ -0,0 +1 @@
1
+ import{b as xr}from"./chunk-WMTA6PZM.js";import{e as vt,f as _e}from"./chunk-CKPICCFH.js";import{$ as je,$a as Rr,B as J,C as fe,D as ut,E as ee,Ec as Er,F as Pe,G as H,H as ct,I as or,K as sr,M as ar,Mb as Mr,N as x,O as ur,Oa as vr,P as S,Q as w,S as b,U as cr,Ua as pt,Ub as Or,V as P,Va as j,Vb as Tr,W as lt,Wa as mr,Wb as Ur,X as ht,Y as g,Z as lr,_a as yr,aa as _,ab as Sr,ca as Ne,cb as $e,d as er,e as tr,g as it,gb as Cr,h as ot,ha as dt,hb as wr,i as V,ia as hr,ib as br,j as M,ja as dr,jb as Ir,ka as fr,l as k,la as pr,m as O,ma as te,mb as Ar,n as d,o as de,p as rr,q as nr,r as m,ra as gr,s as xe,sa as ft,t as T,tc as gt,u as st,v as ir,w as at,wc as Le,yb as Dr,yc as ke,z as X}from"./chunk-W2F756OF.js";import{a as l,b as I}from"./chunk-7CGTOI24.js";var p="primary",Oe=Symbol("RouteTitle"),Ct=class{params;constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e[0]:e}return null}getAll(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function ae(t){return new Ct(t)}function yn(t,r,e){let n=e.path.split("/");if(n.length>t.length||e.pathMatch==="full"&&(r.hasChildren()||n.length<t.length))return null;let i={};for(let o=0;o<n.length;o++){let s=n[o],u=t[o];if(s[0]===":")i[s.substring(1)]=u;else if(s!==u.path)return null}return{consumed:t.slice(0,n.length),posParams:i}}function Rn(t,r){if(t.length!==r.length)return!1;for(let e=0;e<t.length;++e)if(!L(t[e],r[e]))return!1;return!0}function L(t,r){let e=t?wt(t):void 0,n=r?wt(r):void 0;if(!e||!n||e.length!=n.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!qr(t[i],r[i]))return!1;return!0}function wt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function qr(t,r){if(Array.isArray(t)&&Array.isArray(r)){if(t.length!==r.length)return!1;let e=[...t].sort(),n=[...r].sort();return e.every((i,o)=>n[o]===i)}else return t===r}function Br(t){return t.length>0?t[t.length-1]:null}function W(t){return rr(t)?t:wr(t)?O(Promise.resolve(t)):d(t)}var Sn={exact:Hr,subset:Wr},Vr={exact:Cn,subset:wn,ignored:()=>!0};function Pr(t,r,e){return Sn[e.paths](t.root,r.root,e.matrixParams)&&Vr[e.queryParams](t.queryParams,r.queryParams)&&!(e.fragment==="exact"&&t.fragment!==r.fragment)}function Cn(t,r){return L(t,r)}function Hr(t,r,e){if(!Q(t.segments,r.segments)||!qe(t.segments,r.segments,e)||t.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!t.children[n]||!Hr(t.children[n],r.children[n],e))return!1;return!0}function wn(t,r){return Object.keys(r).length<=Object.keys(t).length&&Object.keys(r).every(e=>qr(t[e],r[e]))}function Wr(t,r,e){return Gr(t,r,r.segments,e)}function Gr(t,r,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!Q(i,e)||r.hasChildren()||!qe(i,e,n))}else if(t.segments.length===e.length){if(!Q(t.segments,e)||!qe(t.segments,e,n))return!1;for(let i in r.children)if(!t.children[i]||!Wr(t.children[i],r.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!Q(t.segments,i)||!qe(t.segments,i,n)||!t.children[p]?!1:Gr(t.children[p],r,o,n)}}function qe(t,r,e){return r.every((n,i)=>Vr[e](t[i].parameters,n.parameters))}var F=class{root;queryParams;fragment;_queryParamMap;constructor(r=new v([],{}),e={},n=null){this.root=r,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap??=ae(this.queryParams),this._queryParamMap}toString(){return An.serialize(this)}},v=class{segments;children;parent=null;constructor(r,e){this.segments=r,this.children=e,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Be(this)}},G=class{path;parameters;_parameterMap;constructor(r,e){this.path=r,this.parameters=e}get parameterMap(){return this._parameterMap??=ae(this.parameters),this._parameterMap}toString(){return Kr(this)}};function bn(t,r){return Q(t,r)&&t.every((e,n)=>L(e.parameters,r[n].parameters))}function Q(t,r){return t.length!==r.length?!1:t.every((e,n)=>e.path===r[n].path)}function In(t,r){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===p&&(e=e.concat(r(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==p&&(e=e.concat(r(i,n)))}),e}var Qt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:()=>new Re,providedIn:"root"})}return t})(),Re=class{parse(r){let e=new It(r);return new F(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(r){let e=`/${pe(r.root,!0)}`,n=On(r.queryParams),i=typeof r.fragment=="string"?`#${Dn(r.fragment)}`:"";return`${e}${n}${i}`}},An=new Re;function Be(t){return t.segments.map(r=>Kr(r)).join("/")}function pe(t,r){if(!t.hasChildren())return Be(t);if(r){let e=t.children[p]?pe(t.children[p],!1):"",n=[];return Object.entries(t.children).forEach(([i,o])=>{i!==p&&n.push(`${i}:${pe(o,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=In(t,(n,i)=>i===p?[pe(t.children[p],!1)]:[`${i}:${pe(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[p]!=null?`${Be(t)}/${e[0]}`:`${Be(t)}/(${e.join("//")})`}}function Qr(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function ze(t){return Qr(t).replace(/%3B/gi,";")}function Dn(t){return encodeURI(t)}function bt(t){return Qr(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ve(t){return decodeURIComponent(t)}function jr(t){return Ve(t.replace(/\+/g,"%20"))}function Kr(t){return`${bt(t.path)}${Mn(t.parameters)}`}function Mn(t){return Object.entries(t).map(([r,e])=>`;${bt(r)}=${bt(e)}`).join("")}function On(t){let r=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${ze(e)}=${ze(i)}`).join("&"):`${ze(e)}=${ze(n)}`).filter(e=>e);return r.length?`?${r.join("&")}`:""}var Tn=/^[^\/()?;#]+/;function mt(t){let r=t.match(Tn);return r?r[0]:""}var Un=/^[^\/()?;=#]+/;function En(t){let r=t.match(Un);return r?r[0]:""}var xn=/^[^=?&#]+/;function Pn(t){let r=t.match(xn);return r?r[0]:""}var jn=/^[^&#]+/;function Nn(t){let r=t.match(jn);return r?r[0]:""}var It=class{url;remaining;constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new v([],{}):new v([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let r=[];for(this.peekStartsWith("(")||r.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),r.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(r.length>0||Object.keys(e).length>0)&&(n[p]=new v(r,e)),n}parseSegment(){let r=mt(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new w(4009,!1);return this.capture(r),new G(Ve(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let e=En(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=mt(this.remaining);i&&(n=i,this.capture(n))}r[Ve(e)]=Ve(n)}parseQueryParam(r){let e=Pn(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let s=Nn(this.remaining);s&&(n=s,this.capture(n))}let i=jr(e),o=jr(n);if(r.hasOwnProperty(i)){let s=r[i];Array.isArray(s)||(s=[s],r[i]=s),s.push(o)}else r[i]=o}parseParens(r){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=mt(this.remaining),i=this.remaining[n.length];if(i!=="/"&&i!==")"&&i!==";")throw new w(4010,!1);let o;n.indexOf(":")>-1?(o=n.slice(0,n.indexOf(":")),this.capture(o),this.capture(":")):r&&(o=p);let s=this.parseChildren();e[o]=Object.keys(s).length===1?s[p]:new v([],s),this.consumeOptional("//")}return e}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new w(4011,!1)}};function Zr(t){return t.segments.length>0?new v([],{[p]:t}):t}function Yr(t){let r={};for(let[n,i]of Object.entries(t.children)){let o=Yr(i);if(n===p&&o.segments.length===0&&o.hasChildren())for(let[s,u]of Object.entries(o.children))r[s]=u;else(o.segments.length>0||o.hasChildren())&&(r[n]=o)}let e=new v(t.segments,r);return $n(e)}function $n(t){if(t.numberOfChildren===1&&t.children[p]){let r=t.children[p];return new v(t.segments.concat(r.segments),r.children)}return t}function K(t){return t instanceof F}function Ln(t,r,e=null,n=null){let i=Xr(t);return Jr(i,r,e,n)}function Xr(t){let r;function e(o){let s={};for(let a of o.children){let c=e(a);s[a.outlet]=c}let u=new v(o.url,s);return o===t&&(r=u),u}let n=e(t.root),i=Zr(n);return r??i}function Jr(t,r,e,n){let i=t;for(;i.parent;)i=i.parent;if(r.length===0)return yt(i,i,i,e,n);let o=kn(r);if(o.toRoot())return yt(i,i,new v([],{}),e,n);let s=_n(o,i,t),u=s.processChildren?ve(s.segmentGroup,s.index,o.commands):tn(s.segmentGroup,s.index,o.commands);return yt(i,s.segmentGroup,u,e,n)}function He(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Se(t){return typeof t=="object"&&t!=null&&t.outlets}function yt(t,r,e,n,i){let o={};n&&Object.entries(n).forEach(([a,c])=>{o[a]=Array.isArray(c)?c.map(h=>`${h}`):`${c}`});let s;t===r?s=e:s=en(t,r,e);let u=Zr(Yr(s));return new F(u,o,i)}function en(t,r,e){let n={};return Object.entries(t.children).forEach(([i,o])=>{o===r?n[i]=e:n[i]=en(o,r,e)}),new v(t.segments,n)}var We=class{isAbsolute;numberOfDoubleDots;commands;constructor(r,e,n){if(this.isAbsolute=r,this.numberOfDoubleDots=e,this.commands=n,r&&n.length>0&&He(n[0]))throw new w(4003,!1);let i=n.find(Se);if(i&&i!==Br(n))throw new w(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function kn(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new We(!0,0,t);let r=0,e=!1,n=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let u={};return Object.entries(o.outlets).forEach(([a,c])=>{u[a]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:u}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((u,a)=>{a==0&&u==="."||(a==0&&u===""?e=!0:u===".."?r++:u!=""&&i.push(u))}),i):[...i,o]},[]);return new We(e,r,n)}var ie=class{segmentGroup;processChildren;index;constructor(r,e,n){this.segmentGroup=r,this.processChildren=e,this.index=n}};function _n(t,r,e){if(t.isAbsolute)return new ie(r,!0,0);if(!e)return new ie(r,!1,NaN);if(e.parent===null)return new ie(e,!0,0);let n=He(t.commands[0])?0:1,i=e.segments.length-1+n;return zn(e,i,t.numberOfDoubleDots)}function zn(t,r,e){let n=t,i=r,o=e;for(;o>i;){if(o-=i,n=n.parent,!n)throw new w(4005,!1);i=n.segments.length}return new ie(n,!1,i-o)}function Fn(t){return Se(t[0])?t[0].outlets:{[p]:t}}function tn(t,r,e){if(t??=new v([],{}),t.segments.length===0&&t.hasChildren())return ve(t,r,e);let n=qn(t,r,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndex<t.segments.length){let o=new v(t.segments.slice(0,n.pathIndex),{});return o.children[p]=new v(t.segments.slice(n.pathIndex),t.children),ve(o,0,i)}else return n.match&&i.length===0?new v(t.segments,{}):n.match&&!t.hasChildren()?At(t,r,e):n.match?ve(t,0,i):At(t,r,e)}function ve(t,r,e){if(e.length===0)return new v(t.segments,{});{let n=Fn(e),i={};if(Object.keys(n).some(o=>o!==p)&&t.children[p]&&t.numberOfChildren===1&&t.children[p].segments.length===0){let o=ve(t.children[p],r,e);return new v(t.segments,o.children)}return Object.entries(n).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=tn(t.children[o],r,s))}),Object.entries(t.children).forEach(([o,s])=>{n[o]===void 0&&(i[o]=s)}),new v(t.segments,i)}}function qn(t,r,e){let n=0,i=r,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(n>=e.length)return o;let s=t.segments[i],u=e[n];if(Se(u))break;let a=`${u}`,c=n<e.length-1?e[n+1]:null;if(i>0&&a===void 0)break;if(a&&c&&typeof c=="object"&&c.outlets===void 0){if(!$r(a,c,s))return o;n+=2}else{if(!$r(a,{},s))return o;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function At(t,r,e){let n=t.segments.slice(0,r),i=0;for(;i<e.length;){let o=e[i];if(Se(o)){let a=Bn(o.outlets);return new v(n,a)}if(i===0&&He(e[0])){let a=t.segments[r];n.push(new G(a.path,Nr(e[0]))),i++;continue}let s=Se(o)?o.outlets[p]:`${o}`,u=i<e.length-1?e[i+1]:null;s&&u&&He(u)?(n.push(new G(s,Nr(u))),i+=2):(n.push(new G(s,{})),i++)}return new v(n,{})}function Bn(t){let r={};return Object.entries(t).forEach(([e,n])=>{typeof n=="string"&&(n=[n]),n!==null&&(r[e]=At(new v([],{}),0,n))}),r}function Nr(t){let r={};return Object.entries(t).forEach(([e,n])=>r[e]=`${n}`),r}function $r(t,r,e){return t==e.path&&L(r,e.parameters)}var me="imperative",R=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}(R||{}),U=class{id;url;constructor(r,e){this.id=r,this.url=e}},Ce=class extends U{type=R.NavigationStart;navigationTrigger;restoredState;constructor(r,e,n="imperative",i=null){super(r,e),this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},q=class extends U{urlAfterRedirects;type=R.NavigationEnd;constructor(r,e,n){super(r,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},D=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(D||{}),Dt=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(Dt||{}),z=class extends U{reason;code;type=R.NavigationCancel;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},Z=class extends U{reason;code;type=R.NavigationSkipped;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}},we=class extends U{error;target;type=R.NavigationError;constructor(r,e,n,i){super(r,e),this.error=n,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Ge=class extends U{urlAfterRedirects;state;type=R.RoutesRecognized;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Mt=class extends U{urlAfterRedirects;state;type=R.GuardsCheckStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ot=class extends U{urlAfterRedirects;state;shouldActivate;type=R.GuardsCheckEnd;constructor(r,e,n,i,o){super(r,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Tt=class extends U{urlAfterRedirects;state;type=R.ResolveStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ut=class extends U{urlAfterRedirects;state;type=R.ResolveEnd;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Et=class{route;type=R.RouteConfigLoadStart;constructor(r){this.route=r}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},xt=class{route;type=R.RouteConfigLoadEnd;constructor(r){this.route=r}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Pt=class{snapshot;type=R.ChildActivationStart;constructor(r){this.snapshot=r}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},jt=class{snapshot;type=R.ChildActivationEnd;constructor(r){this.snapshot=r}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Nt=class{snapshot;type=R.ActivationStart;constructor(r){this.snapshot=r}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},$t=class{snapshot;type=R.ActivationEnd;constructor(r){this.snapshot=r}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var be=class{},ue=class{url;navigationBehaviorOptions;constructor(r,e){this.url=r,this.navigationBehaviorOptions=e}};function Vn(t,r){return t.providers&&!t._injector&&(t._injector=Rr(t.providers,r,`Route: ${t.path}`)),t._injector??r}function N(t){return t.outlet||p}function Hn(t,r){let e=t.filter(n=>N(n)===r);return e.push(...t.filter(n=>N(n)!==r)),e}function Te(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let r=t.parent;r;r=r.parent){let e=r.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var Lt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return Te(this.route?.snapshot)??this.rootInjector}constructor(r){this.rootInjector=r,this.children=new et(this.rootInjector)}},et=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Lt(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(ht(je))};static \u0275prov=b({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Qe=class{_root;constructor(r){this._root=r}get root(){return this._root.value}parent(r){let e=this.pathFromRoot(r);return e.length>1?e[e.length-2]:null}children(r){let e=kt(r,this._root);return e?e.children.map(n=>n.value):[]}firstChild(r){let e=kt(r,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(r){let e=_t(r,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return _t(r,this._root).map(e=>e.value)}};function kt(t,r){if(t===r.value)return r;for(let e of r.children){let n=kt(t,e);if(n)return n}return null}function _t(t,r){if(t===r.value)return[r];for(let e of r.children){let n=_t(t,e);if(n.length)return n.unshift(r),n}return[]}var A=class{value;children;constructor(r,e){this.value=r,this.children=e}toString(){return`TreeNode(${this.value})`}};function ne(t){let r={};return t&&t.children.forEach(e=>r[e.value.outlet]=e),r}var Ke=class extends Qe{snapshot;constructor(r,e){super(r),this.snapshot=e,Kt(this,r)}toString(){return this.snapshot.toString()}};function rn(t){let r=Wn(t),e=new M([new G("",{})]),n=new M({}),i=new M({}),o=new M({}),s=new M(""),u=new Y(e,n,o,s,i,p,t,r.root);return u.snapshot=r.root,new Ke(new A(u,[]),r)}function Wn(t){let r={},e={},n={},i="",o=new oe([],r,n,i,e,p,t,null,{});return new Ye("",new A(o,[]))}var Y=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(r,e,n,i,o,s,u,a){this.urlSubject=r,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=u,this._futureSnapshot=a,this.title=this.dataSubject?.pipe(m(c=>c[Oe]))??d(void 0),this.url=r,this.params=e,this.queryParams=n,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(m(r=>ae(r))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(m(r=>ae(r))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Ze(t,r,e="emptyOnly"){let n,{routeConfig:i}=t;return r!==null&&(e==="always"||i?.path===""||!r.component&&!r.routeConfig?.loadComponent)?n={params:l(l({},r.params),t.params),data:l(l({},r.data),t.data),resolve:l(l(l(l({},t.data),r.data),i?.data),t._resolvedData)}:n={params:l({},t.params),data:l({},t.data),resolve:l(l({},t.data),t._resolvedData??{})},i&&on(i)&&(n.resolve[Oe]=i.title),n}var oe=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[Oe]}constructor(r,e,n,i,o,s,u,a,c){this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=o,this.outlet=s,this.component=u,this.routeConfig=a,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??=ae(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=ae(this.queryParams),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${e}')`}},Ye=class extends Qe{url;constructor(r,e){super(e),this.url=r,Kt(this,e)}toString(){return nn(this._root)}};function Kt(t,r){r.value._routerState=t,r.children.forEach(e=>Kt(t,e))}function nn(t){let r=t.children.length>0?` { ${t.children.map(nn).join(", ")} } `:"";return`${t.value}${r}`}function Rt(t){if(t.snapshot){let r=t.snapshot,e=t._futureSnapshot;t.snapshot=e,L(r.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),r.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),L(r.params,e.params)||t.paramsSubject.next(e.params),Rn(r.url,e.url)||t.urlSubject.next(e.url),L(r.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function zt(t,r){let e=L(t.params,r.params)&&bn(t.url,r.url),n=!t.parent!=!r.parent;return e&&!n&&(!t.parent||zt(t.parent,r.parent))}function on(t){return typeof t.title=="string"||t.title===null}var Gn=new P(""),Qn=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=p;activateEvents=new te;deactivateEvents=new te;attachEvents=new te;detachEvents=new te;routerOutletData=gr(void 0);parentContexts=g(et);location=g(mr);changeDetector=g(Le);inputBinder=g(tt,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)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 w(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new w(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new w(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){this.activated=e,this._activatedRoute=n,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,n){if(this.isActivated)throw new w(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,u=this.parentContexts.getOrCreateContext(this.name).children,a=new Ft(e,u,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:a,environmentInjector:n}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=$e({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Ne]})}return t})(),Ft=class t{route;childContexts;parent;outletData;__ngOutletInjector(r){return new t(this.route,this.childContexts,r,this.outletData)}constructor(r,e,n,i){this.route=r,this.childContexts=e,this.parent=n,this.outletData=i}get(r,e){return r===Y?this.route:r===et?this.childContexts:r===Gn?this.outletData:this.parent.get(r,e)}},tt=new P(""),Lr=(()=>{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:n}=e,i=xe([n.queryParams,n.params,n.data]).pipe(x(([o,s,u],a)=>(u=l(l(l({},o),s),u),a===0?d(u):Promise.resolve(u)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(e);return}let s=Er(n.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:u}of s.inputs)e.activatedComponentRef.setInput(u,o[u])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:t.\u0275fac})}return t})();function Kn(t,r,e){let n=Ie(t,r._root,e?e._root:void 0);return new Ke(n,r)}function Ie(t,r,e){if(e&&t.shouldReuseRoute(r.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=r.value;let i=Zn(t,r,e);return new A(n,i)}else{if(t.shouldAttach(r.value)){let o=t.retrieve(r.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=r.value,s.children=r.children.map(u=>Ie(t,u)),s}}let n=Yn(r.value),i=r.children.map(o=>Ie(t,o));return new A(n,i)}}function Zn(t,r,e){return r.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return Ie(t,n,i);return Ie(t,n)})}function Yn(t){return new Y(new M(t.url),new M(t.params),new M(t.queryParams),new M(t.fragment),new M(t.data),t.outlet,t.component,t)}var Ae=class{redirectTo;navigationBehaviorOptions;constructor(r,e){this.redirectTo=r,this.navigationBehaviorOptions=e}},sn="ngNavigationCancelingError";function Xe(t,r){let{redirectTo:e,navigationBehaviorOptions:n}=K(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=an(!1,D.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function an(t,r){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[sn]=!0,e.cancellationCode=r,e}function Xn(t){return un(t)&&K(t.url)}function un(t){return!!t&&t[sn]}var Jn=(t,r,e,n)=>m(i=>(new qt(r,i.targetRouterState,i.currentRouterState,e,n).activate(t),i)),qt=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(r,e,n,i,o){this.routeReuseStrategy=r,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=o}activate(r){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,r),Rt(this.futureState.root),this.activateChildRoutes(e,n,r)}deactivateChildRoutes(r,e,n){let i=ne(e);r.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],n),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,n)})}deactivateRoutes(r,e,n){let i=r.value,o=e?e.value:null;if(i===o)if(i.component){let s=n.getContext(i.outlet);s&&this.deactivateChildRoutes(r,e,s.children)}else this.deactivateChildRoutes(r,e,n);else o&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(r,e){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,e):this.deactivateRouteAndOutlet(r,e)}detachAndStoreRouteSubtree(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,o=ne(r);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(n&&n.outlet){let s=n.outlet.detach(),u=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:s,route:r,contexts:u})}}deactivateRouteAndOutlet(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,o=ne(r);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,e,n){let i=ne(e);r.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],n),this.forwardEvent(new $t(o.value.snapshot))}),r.children.length&&this.forwardEvent(new jt(r.value.snapshot))}activateRoutes(r,e,n){let i=r.value,o=e?e.value:null;if(Rt(i),i===o)if(i.component){let s=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,e,s.children)}else this.activateChildRoutes(r,e,n);else if(i.component){let s=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let u=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(u.contexts),s.attachRef=u.componentRef,s.route=u.route.value,s.outlet&&s.outlet.attach(u.componentRef,u.route.value),Rt(u.route.value),this.activateChildRoutes(r,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(r,null,s.children)}else this.activateChildRoutes(r,null,n)}},Je=class{path;route;constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},se=class{component;route;constructor(r,e){this.component=r,this.route=e}};function ei(t,r,e){let n=t._root,i=r?r._root:null;return ge(n,i,e,[n.value])}function ti(t){let r=t.routeConfig?t.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:t,guards:r}}function le(t,r){let e=Symbol(),n=r.get(t,e);return n===e?typeof t=="function"&&!cr(t)?t:r.get(t):n}function ge(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=ne(r);return t.children.forEach(s=>{ri(s,o[s.value.outlet],e,n.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,u])=>ye(u,e.getContext(s),i)),i}function ri(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=r?r.value:null,u=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let a=ni(s,o,o.routeConfig.runGuardsAndResolvers);a?i.canActivateChecks.push(new Je(n)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?ge(t,r,u?u.children:null,n,i):ge(t,r,e,n,i),a&&u&&u.outlet&&u.outlet.isActivated&&i.canDeactivateChecks.push(new se(u.outlet.component,s))}else s&&ye(r,u,i),i.canActivateChecks.push(new Je(n)),o.component?ge(t,null,u?u.children:null,n,i):ge(t,null,e,n,i);return i}function ni(t,r,e){if(typeof e=="function")return e(t,r);switch(e){case"pathParamsChange":return!Q(t.url,r.url);case"pathParamsOrQueryParamsChange":return!Q(t.url,r.url)||!L(t.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!zt(t,r)||!L(t.queryParams,r.queryParams);case"paramsChange":default:return!zt(t,r)}}function ye(t,r,e){let n=ne(t),i=t.value;Object.entries(n).forEach(([o,s])=>{i.component?r?ye(s,r.children.getContext(o),e):ye(s,null,e):ye(s,r,e)}),i.component?r&&r.outlet&&r.outlet.isActivated?e.canDeactivateChecks.push(new se(r.outlet.component,i)):e.canDeactivateChecks.push(new se(null,i)):e.canDeactivateChecks.push(new se(null,i))}function Ue(t){return typeof t=="function"}function ii(t){return typeof t=="boolean"}function oi(t){return t&&Ue(t.canLoad)}function si(t){return t&&Ue(t.canActivate)}function ai(t){return t&&Ue(t.canActivateChild)}function ui(t){return t&&Ue(t.canDeactivate)}function ci(t){return t&&Ue(t.canMatch)}function cn(t){return t instanceof nr||t?.name==="EmptyError"}var Fe=Symbol("INITIAL_VALUE");function ce(){return x(t=>xe(t.map(r=>r.pipe(ee(1),ar(Fe)))).pipe(m(r=>{for(let e of r)if(e!==!0){if(e===Fe)return Fe;if(e===!1||li(e))return e}return!0}),X(r=>r!==Fe),ee(1)))}function li(t){return K(t)||t instanceof Ae}function hi(t,r){return T(e=>{let{targetSnapshot:n,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=e;return s.length===0&&o.length===0?d(I(l({},e),{guardsResult:!0})):di(s,n,i,t).pipe(T(u=>u&&ii(u)?fi(n,o,t,r):d(u)),m(u=>I(l({},e),{guardsResult:u})))})}function di(t,r,e,n){return O(t).pipe(T(i=>yi(i.component,i.route,e,r,n)),H(i=>i!==!0,!0))}function fi(t,r,e,n){return O(r).pipe(fe(i=>ir(gi(i.route.parent,n),pi(i.route,n),mi(t,i.path,e),vi(t,i.route,e))),H(i=>i!==!0,!0))}function pi(t,r){return t!==null&&r&&r(new Nt(t)),d(!0)}function gi(t,r){return t!==null&&r&&r(new Pt(t)),d(!0)}function vi(t,r,e){let n=r.routeConfig?r.routeConfig.canActivate:null;if(!n||n.length===0)return d(!0);let i=n.map(o=>at(()=>{let s=Te(r)??e,u=le(o,s),a=si(u)?u.canActivate(r,t):_(s,()=>u(r,t));return W(a).pipe(H())}));return d(i).pipe(ce())}function mi(t,r,e){let n=r[r.length-1],o=r.slice(0,r.length-1).reverse().map(s=>ti(s)).filter(s=>s!==null).map(s=>at(()=>{let u=s.guards.map(a=>{let c=Te(s.node)??e,h=le(a,c),f=ai(h)?h.canActivateChild(n,t):_(c,()=>h(n,t));return W(f).pipe(H())});return d(u).pipe(ce())}));return d(o).pipe(ce())}function yi(t,r,e,n,i){let o=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!o||o.length===0)return d(!0);let s=o.map(u=>{let a=Te(r)??i,c=le(u,a),h=ui(c)?c.canDeactivate(t,r,e,n):_(a,()=>c(t,r,e,n));return W(h).pipe(H())});return d(s).pipe(ce())}function Ri(t,r,e,n){let i=r.canLoad;if(i===void 0||i.length===0)return d(!0);let o=i.map(s=>{let u=le(s,t),a=oi(u)?u.canLoad(r,e):_(t,()=>u(r,e));return W(a)});return d(o).pipe(ce(),ln(n))}function ln(t){return tr(S(r=>{if(typeof r!="boolean")throw Xe(t,r)}),m(r=>r===!0))}function Si(t,r,e,n){let i=r.canMatch;if(!i||i.length===0)return d(!0);let o=i.map(s=>{let u=le(s,t),a=ci(u)?u.canMatch(r,e):_(t,()=>u(r,e));return W(a)});return d(o).pipe(ce(),ln(n))}var De=class{segmentGroup;constructor(r){this.segmentGroup=r||null}},Me=class extends Error{urlTree;constructor(r){super(),this.urlTree=r}};function re(t){return de(new De(t))}function Ci(t){return de(new w(4e3,!1))}function wi(t){return de(an(!1,D.GuardRejected))}var Bt=class{urlSerializer;urlTree;constructor(r,e){this.urlSerializer=r,this.urlTree=e}lineralizeSegments(r,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return d(n);if(i.numberOfChildren>1||!i.children[p])return Ci(`${r.redirectTo}`);i=i.children[p]}}applyRedirectCommands(r,e,n,i,o){if(typeof e!="string"){let u=e,{queryParams:a,fragment:c,routeConfig:h,url:f,outlet:y,params:$,data:C,title:B}=i,E=_(o,()=>u({params:$,data:C,queryParams:a,fragment:c,routeConfig:h,url:f,outlet:y,title:B}));if(E instanceof F)throw new Me(E);e=E}let s=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),r,n);if(e[0]==="/")throw new Me(s);return s}applyRedirectCreateUrlTree(r,e,n,i){let o=this.createSegmentGroup(r,e.root,n,i);return new F(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(r,e){let n={};return Object.entries(r).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let u=o.substring(1);n[i]=e[u]}else n[i]=o}),n}createSegmentGroup(r,e,n,i){let o=this.createSegments(r,e.segments,n,i),s={};return Object.entries(e.children).forEach(([u,a])=>{s[u]=this.createSegmentGroup(r,a,n,i)}),new v(o,s)}createSegments(r,e,n,i){return e.map(o=>o.path[0]===":"?this.findPosParam(r,o,i):this.findOrReturn(o,n))}findPosParam(r,e,n){let i=n[e.path.substring(1)];if(!i)throw new w(4001,!1);return i}findOrReturn(r,e){let n=0;for(let i of e){if(i.path===r.path)return e.splice(n),i;n++}return r}},Vt={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function bi(t,r,e,n,i){let o=hn(t,r,e);return o.matched?(n=Vn(r,n),Si(n,r,e,i).pipe(m(s=>s===!0?o:l({},Vt)))):d(o)}function hn(t,r,e){if(r.path==="**")return Ii(e);if(r.path==="")return r.pathMatch==="full"&&(t.hasChildren()||e.length>0)?l({},Vt):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(r.matcher||yn)(e,t,r);if(!i)return l({},Vt);let o={};Object.entries(i.posParams??{}).forEach(([u,a])=>{o[u]=a.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 Ii(t){return{matched:!0,parameters:t.length>0?Br(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function kr(t,r,e,n){return e.length>0&&Mi(t,e,n)?{segmentGroup:new v(r,Di(n,new v(e,t.children))),slicedSegments:[]}:e.length===0&&Oi(t,e,n)?{segmentGroup:new v(t.segments,Ai(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new v(t.segments,t.children),slicedSegments:e}}function Ai(t,r,e,n){let i={};for(let o of e)if(rt(t,r,o)&&!n[N(o)]){let s=new v([],{});i[N(o)]=s}return l(l({},n),i)}function Di(t,r){let e={};e[p]=r;for(let n of t)if(n.path===""&&N(n)!==p){let i=new v([],{});e[N(n)]=i}return e}function Mi(t,r,e){return e.some(n=>rt(t,r,n)&&N(n)!==p)}function Oi(t,r,e){return e.some(n=>rt(t,r,n))}function rt(t,r,e){return(t.hasChildren()||r.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Ti(t,r,e){return r.length===0&&!t.children[e]}var Ht=class{};function Ui(t,r,e,n,i,o,s="emptyOnly"){return new Wt(t,r,e,n,i,s,o).recognize()}var Ei=31,Wt=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(r,e,n,i,o,s,u){this.injector=r,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=u,this.applyRedirects=new Bt(this.urlSerializer,this.urlTree)}noMatchError(r){return new w(4002,`'${r.segmentGroup}'`)}recognize(){let r=kr(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(r).pipe(m(({children:e,rootSnapshot:n})=>{let i=new A(n,e),o=new Ye("",i),s=Ln(n,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(r){let e=new oe([],Object.freeze({}),Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),p,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,r,p,e).pipe(m(n=>({children:n,rootSnapshot:e})),J(n=>{if(n instanceof Me)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof De?this.noMatchError(n):n}))}processSegmentGroup(r,e,n,i,o){return n.segments.length===0&&n.hasChildren()?this.processChildren(r,e,n,o):this.processSegment(r,e,n,n.segments,i,!0,o).pipe(m(s=>s instanceof A?[s]:[]))}processChildren(r,e,n,i){let o=[];for(let s of Object.keys(n.children))s==="primary"?o.unshift(s):o.push(s);return O(o).pipe(fe(s=>{let u=n.children[s],a=Hn(e,s);return this.processSegmentGroup(r,a,u,s,i)}),sr((s,u)=>(s.push(...u),s)),ut(null),or(),T(s=>{if(s===null)return re(n);let u=dn(s);return xi(u),d(u)}))}processSegment(r,e,n,i,o,s,u){return O(e).pipe(fe(a=>this.processSegmentAgainstRoute(a._injector??r,e,a,n,i,o,s,u).pipe(J(c=>{if(c instanceof De)return d(null);throw c}))),H(a=>!!a),J(a=>{if(cn(a))return Ti(n,i,o)?d(new Ht):re(n);throw a}))}processSegmentAgainstRoute(r,e,n,i,o,s,u,a){return N(n)!==s&&(s===p||!rt(i,o,n))?re(i):n.redirectTo===void 0?this.matchSegmentAgainstRoute(r,i,n,o,s,a):this.allowRedirects&&u?this.expandSegmentAgainstRouteUsingRedirect(r,i,e,n,o,s,a):re(i)}expandSegmentAgainstRouteUsingRedirect(r,e,n,i,o,s,u){let{matched:a,parameters:c,consumedSegments:h,positionalParamSegments:f,remainingSegments:y}=hn(e,i,o);if(!a)return re(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Ei&&(this.allowRedirects=!1));let $=new oe(o,c,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,_r(i),N(i),i.component??i._loadedComponent??null,i,zr(i)),C=Ze($,u,this.paramsInheritanceStrategy);$.params=Object.freeze(C.params),$.data=Object.freeze(C.data);let B=this.applyRedirects.applyRedirectCommands(h,i.redirectTo,f,$,r);return this.applyRedirects.lineralizeSegments(i,B).pipe(T(E=>this.processSegment(r,n,e,E.concat(y),s,!1,u)))}matchSegmentAgainstRoute(r,e,n,i,o,s){let u=bi(e,n,i,r,this.urlSerializer);return n.path==="**"&&(e.children={}),u.pipe(x(a=>a.matched?(r=n._injector??r,this.getChildConfig(r,n,i).pipe(x(({routes:c})=>{let h=n._loadedInjector??r,{parameters:f,consumedSegments:y,remainingSegments:$}=a,C=new oe(y,f,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,_r(n),N(n),n.component??n._loadedComponent??null,n,zr(n)),B=Ze(C,s,this.paramsInheritanceStrategy);C.params=Object.freeze(B.params),C.data=Object.freeze(B.data);let{segmentGroup:E,slicedSegments:he}=kr(e,y,$,c);if(he.length===0&&E.hasChildren())return this.processChildren(h,c,E,C).pipe(m(Ee=>new A(C,Ee)));if(c.length===0&&he.length===0)return d(new A(C,[]));let mn=N(n)===o;return this.processSegment(h,c,E,he,mn?p:o,!0,C).pipe(m(Ee=>new A(C,Ee instanceof A?[Ee]:[])))}))):re(e)))}getChildConfig(r,e,n){return e.children?d({routes:e.children,injector:r}):e.loadChildren?e._loadedRoutes!==void 0?d({routes:e._loadedRoutes,injector:e._loadedInjector}):Ri(r,e,n,this.urlSerializer).pipe(T(i=>i?this.configLoader.loadChildren(r,e).pipe(S(o=>{e._loadedRoutes=o.routes,e._loadedInjector=o.injector})):wi(e))):d({routes:[],injector:r})}};function xi(t){t.sort((r,e)=>r.value.outlet===p?-1:e.value.outlet===p?1:r.value.outlet.localeCompare(e.value.outlet))}function Pi(t){let r=t.value.routeConfig;return r&&r.path===""}function dn(t){let r=[],e=new Set;for(let n of t){if(!Pi(n)){r.push(n);continue}let i=r.find(o=>n.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):r.push(n)}for(let n of e){let i=dn(n.children);r.push(new A(n.value,i))}return r.filter(n=>!e.has(n))}function _r(t){return t.data||{}}function zr(t){return t.resolve||{}}function ji(t,r,e,n,i,o){return T(s=>Ui(t,r,e,n,s.extractedUrl,i,o).pipe(m(({state:u,tree:a})=>I(l({},s),{targetSnapshot:u,urlAfterRedirects:a}))))}function Ni(t,r){return T(e=>{let{targetSnapshot:n,guards:{canActivateChecks:i}}=e;if(!i.length)return d(e);let o=new Set(i.map(a=>a.route)),s=new Set;for(let a of o)if(!s.has(a))for(let c of fn(a))s.add(c);let u=0;return O(s).pipe(fe(a=>o.has(a)?$i(a,n,t,r):(a.data=Ze(a,a.parent,t).resolve,d(void 0))),S(()=>u++),ct(1),T(a=>u===s.size?d(e):k))})}function fn(t){let r=t.children.map(e=>fn(e)).flat();return[t,...r]}function $i(t,r,e,n){let i=t.routeConfig,o=t._resolve;return i?.title!==void 0&&!on(i)&&(o[Oe]=i.title),Li(o,t,r,n).pipe(m(s=>(t._resolvedData=s,t.data=Ze(t,t.parent,e).resolve,null)))}function Li(t,r,e,n){let i=wt(t);if(i.length===0)return d({});let o={};return O(i).pipe(T(s=>ki(t[s],r,e,n).pipe(H(),S(u=>{if(u instanceof Ae)throw Xe(new Re,u);o[s]=u}))),ct(1),m(()=>o),J(s=>cn(s)?k:de(s)))}function ki(t,r,e,n){let i=Te(r)??n,o=le(t,i),s=o.resolve?o.resolve(r,e):_(i,()=>o(r,e));return W(s)}function St(t){return x(r=>{let e=t(r);return e?O(e).pipe(m(()=>r)):d(r)})}var pn=(()=>{class t{buildTitle(e){let n,i=e.root;for(;i!==void 0;)n=this.getResolvedTitleForRoute(i)??n,i=i.children.find(o=>o.outlet===p);return n}getResolvedTitleForRoute(e){return e.data[Oe]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:()=>g(_i),providedIn:"root"})}return t})(),_i=(()=>{class t extends pn{title;constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static \u0275fac=function(n){return new(n||t)(ht(xr))};static \u0275prov=b({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Zt=new P("",{providedIn:"root",factory:()=>({})}),zi=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=Sr({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(n,i){n&1&&Dr(0,"router-outlet")},dependencies:[Qn],encapsulation:2})}return t})();function Yt(t){let r=t.children&&t.children.map(Yt),e=r?I(l({},t),{children:r}):l({},t);return!e.component&&!e.loadComponent&&(r||e.loadChildren)&&e.outlet&&e.outlet!==p&&(e.component=zi),e}var Xt=new P(""),Fi=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=g(gt);loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return d(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let n=W(e.loadComponent()).pipe(m(gn),S(o=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=o}),Pe(()=>{this.componentLoaders.delete(e)})),i=new ot(n,()=>new V).pipe(it());return this.componentLoaders.set(e,i),i}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return d({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let o=qi(n,this.compiler,e,this.onLoadEndListener).pipe(Pe(()=>{this.childrenLoaders.delete(n)})),s=new ot(o,()=>new V).pipe(it());return this.childrenLoaders.set(n,s),s}static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function qi(t,r,e,n){return W(t.loadChildren()).pipe(m(gn),T(i=>i instanceof yr||Array.isArray(i)?d(i):O(r.compileModuleAsync(i))),m(i=>{n&&n(t);let o,s,u=!1;return Array.isArray(i)?(s=i,u=!0):(o=i.create(e).injector,s=o.get(Xt,[],{optional:!0,self:!0}).flat()),{routes:s.map(Yt),injector:o}}))}function Bi(t){return t&&typeof t=="object"&&"default"in t}function gn(t){return Bi(t)?t.default:t}var Jt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:()=>g(Vi),providedIn:"root"})}return t})(),Vi=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Hi=new P("");var Wi=new P(""),Gi=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new V;transitionAbortSubject=new V;configLoader=g(Fi);environmentInjector=g(je);destroyRef=g(fr);urlSerializer=g(Qt);rootContexts=g(et);location=g(_e);inputBindingEnabled=g(tt,{optional:!0})!==null;titleStrategy=g(pn);options=g(Zt,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=g(Jt);createViewTransition=g(Hi,{optional:!0});navigationErrorHandler=g(Wi,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>d(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new Et(i)),n=i=>this.events.next(new xt(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let n=++this.navigationId;this.transitions?.next(I(l(l({},this.transitions.value),e),{id:n}))}setupNavigations(e,n,i){return this.transitions=new M({id:0,currentUrlTree:n,currentRawUrl:n,extractedUrl:this.urlHandlingStrategy.extract(n),urlAfterRedirects:this.urlHandlingStrategy.extract(n),rawUrl:n,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:me,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(X(o=>o.id!==0),m(o=>I(l({},o),{extractedUrl:this.urlHandlingStrategy.extract(o.rawUrl)})),x(o=>{let s=!1,u=!1;return d(o).pipe(x(a=>{if(this.navigationId>o.id)return this.cancelNavigationTransition(o,"",D.SupersededByNewNavigation),k;this.currentTransition=o,this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?I(l({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let c=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),h=a.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!c&&h!=="reload"){let f="";return this.events.next(new Z(a.id,this.urlSerializer.serialize(a.rawUrl),f,Dt.IgnoredSameUrlNavigation)),a.resolve(!1),k}if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return d(a).pipe(x(f=>{let y=this.transitions?.getValue();return this.events.next(new Ce(f.id,this.urlSerializer.serialize(f.extractedUrl),f.source,f.restoredState)),y!==this.transitions?.getValue()?k:Promise.resolve(f)}),ji(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),S(f=>{o.targetSnapshot=f.targetSnapshot,o.urlAfterRedirects=f.urlAfterRedirects,this.currentNavigation=I(l({},this.currentNavigation),{finalUrl:f.urlAfterRedirects});let y=new Ge(f.id,this.urlSerializer.serialize(f.extractedUrl),this.urlSerializer.serialize(f.urlAfterRedirects),f.targetSnapshot);this.events.next(y)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:f,extractedUrl:y,source:$,restoredState:C,extras:B}=a,E=new Ce(f,this.urlSerializer.serialize(y),$,C);this.events.next(E);let he=rn(this.rootComponentType).snapshot;return this.currentTransition=o=I(l({},a),{targetSnapshot:he,urlAfterRedirects:y,extras:I(l({},B),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=y,d(o)}else{let f="";return this.events.next(new Z(a.id,this.urlSerializer.serialize(a.extractedUrl),f,Dt.IgnoredByUrlHandlingStrategy)),a.resolve(!1),k}}),S(a=>{let c=new Mt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(c)}),m(a=>(this.currentTransition=o=I(l({},a),{guards:ei(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),o)),hi(this.environmentInjector,a=>this.events.next(a)),S(a=>{if(o.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw Xe(this.urlSerializer,a.guardsResult);let c=new Ot(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(c)}),X(a=>a.guardsResult?!0:(this.cancelNavigationTransition(a,"",D.GuardRejected),!1)),St(a=>{if(a.guards.canActivateChecks.length)return d(a).pipe(S(c=>{let h=new Tt(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(h)}),x(c=>{let h=!1;return d(c).pipe(Ni(this.paramsInheritanceStrategy,this.environmentInjector),S({next:()=>h=!0,complete:()=>{h||this.cancelNavigationTransition(c,"",D.NoDataFromResolver)}}))}),S(c=>{let h=new Ut(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(h)}))}),St(a=>{let c=h=>{let f=[];h.routeConfig?.loadComponent&&!h.routeConfig._loadedComponent&&f.push(this.configLoader.loadComponent(h.routeConfig).pipe(S(y=>{h.component=y}),m(()=>{})));for(let y of h.children)f.push(...c(y));return f};return xe(c(a.targetSnapshot.root)).pipe(ut(null),ee(1))}),St(()=>this.afterPreactivation()),x(()=>{let{currentSnapshot:a,targetSnapshot:c}=o,h=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return h?O(h).pipe(m(()=>o)):d(o)}),m(a=>{let c=Kn(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return this.currentTransition=o=I(l({},a),{targetRouterState:c}),this.currentNavigation.targetRouterState=c,o}),S(()=>{this.events.next(new be)}),Jn(this.rootContexts,e.routeReuseStrategy,a=>this.events.next(a),this.inputBindingEnabled),ee(1),S({next:a=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new q(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{s=!0}}),ur(this.transitionAbortSubject.pipe(S(a=>{throw a}))),Pe(()=>{!s&&!u&&this.cancelNavigationTransition(o,"",D.SupersededByNewNavigation),this.currentTransition?.id===o.id&&(this.currentNavigation=null,this.currentTransition=null)}),J(a=>{if(this.destroyed)return o.resolve(!1),k;if(u=!0,un(a))this.events.next(new z(o.id,this.urlSerializer.serialize(o.extractedUrl),a.message,a.cancellationCode)),Xn(a)?this.events.next(new ue(a.url,a.navigationBehaviorOptions)):o.resolve(!1);else{let c=new we(o.id,this.urlSerializer.serialize(o.extractedUrl),a,o.targetSnapshot??void 0);try{let h=_(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(h instanceof Ae){let{message:f,cancellationCode:y}=Xe(this.urlSerializer,h);this.events.next(new z(o.id,this.urlSerializer.serialize(o.extractedUrl),f,y)),this.events.next(new ue(h.redirectTo,h.navigationBehaviorOptions))}else throw this.events.next(c),a}catch(h){this.options.resolveNavigationPromiseOnError?o.resolve(!1):o.reject(h)}}return k}))}))}cancelNavigationTransition(e,n,i){let o=new z(e.id,this.urlSerializer.serialize(e.extractedUrl),n,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))),n=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return e.toString()!==n?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Qi(t){return t!==me}var Ki=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:()=>g(Zi),providedIn:"root"})}return t})(),Gt=class{shouldDetach(r){return!1}store(r,e){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,e){return r.routeConfig===e.routeConfig}},Zi=(()=>{class t extends Gt{static \u0275fac=(()=>{let e;return function(i){return(e||(e=dt(t)))(i||t)}})();static \u0275prov=b({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),vn=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:()=>g(Yi),providedIn:"root"})}return t})(),Yi=(()=>{class t extends vn{location=g(_e);urlSerializer=g(Qt);options=g(Zt,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";urlHandlingStrategy=g(Jt);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new F;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}routerState=rn(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&e(n.url,n.state)})}handleRouterEvent(e,n){if(e instanceof Ce)this.stateMemento=this.createStateMemento();else if(e instanceof Z)this.rawUrlTree=n.initialUrl;else if(e instanceof Ge){if(this.urlUpdateStrategy==="eager"&&!n.extras.skipLocationChange){let i=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl);this.setBrowserUrl(n.targetBrowserUrl??i,n)}}else e instanceof be?(this.currentUrlTree=n.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(n.finalUrl,n.initialUrl),this.routerState=n.targetRouterState,this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl(n.targetBrowserUrl??this.rawUrlTree,n)):e instanceof z&&(e.code===D.GuardRejected||e.code===D.NoDataFromResolver)?this.restoreHistory(n):e instanceof we?this.restoreHistory(n,!0):e instanceof q&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,n){let i=e instanceof F?this.urlSerializer.serialize(e):e;if(this.location.isCurrentPathEqualTo(i)||n.extras.replaceUrl){let o=this.browserPageId,s=l(l({},n.extras.state),this.generateNgRouterState(n.id,o));this.location.replaceState(i,"",s)}else{let o=l(l({},n.extras.state),this.generateNgRouterState(n.id,this.browserPageId+1));this.location.go(i,"",o)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.currentUrlTree===e.finalUrl&&o===0&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=dt(t)))(i||t)}})();static \u0275prov=b({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Xi(t,r){t.events.pipe(X(e=>e instanceof q||e instanceof z||e instanceof we||e instanceof Z),m(e=>e instanceof q||e instanceof Z?0:(e instanceof z?e.code===D.Redirect||e.code===D.SupersededByNewNavigation:!1)?2:1),X(e=>e!==2),ee(1)).subscribe(()=>{r()})}var Ji={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},eo={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},nt=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=g(Cr);stateManager=g(vn);options=g(Zt,{optional:!0})||{};pendingTasks=g(pr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=g(Gi);urlSerializer=g(Qt);location=g(_e);urlHandlingStrategy=g(Jt);_events=new V;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=g(Ki);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=g(Xt,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!g(tt,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}eventsSubscription=new er;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(n=>{try{let i=this.navigationTransitions.currentTransition,o=this.navigationTransitions.currentNavigation;if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(n,o),n instanceof z&&n.code!==D.Redirect&&n.code!==D.SupersededByNewNavigation)this.navigated=!0;else if(n instanceof q)this.navigated=!0;else if(n instanceof ue){let s=n.navigationBehaviorOptions,u=this.urlHandlingStrategy.merge(n.url,i.currentRawUrl),a=l({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||Qi(i.source)},s);this.scheduleNavigation(u,me,null,a,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}ro(n)&&this._events.next(n)}catch(i){this.navigationTransitions.transitionAbortSubject.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),me,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,n)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(e,"popstate",n)},0)})}navigateToSyncWithBrowser(e,n,i){let o={replaceUrl:!0},s=i?.navigationId?i:null;if(i){let a=l({},i);delete a.navigationId,delete a.\u0275routerPageId,Object.keys(a).length!==0&&(o.state=a)}let u=this.parseUrl(e);this.scheduleNavigation(u,n,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(Yt),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,n={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:u,preserveFragment:a}=n,c=a?this.currentUrlTree.fragment:s,h=null;switch(u??this.options.defaultQueryParamsHandling){case"merge":h=l(l({},this.currentUrlTree.queryParams),o);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=o||null}h!==null&&(h=this.removeEmptyProps(h));let f;try{let y=i?i.snapshot:this.routerState.snapshot.root;f=Xr(y)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),f=this.currentUrlTree.root}return Jr(f,e,h,c??null)}navigateByUrl(e,n={skipLocationChange:!1}){let i=K(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,me,null,n)}navigate(e,n={skipLocationChange:!1}){return to(e),this.navigateByUrl(this.createUrlTree(e,n),n)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.urlSerializer.parse("/")}}isActive(e,n){let i;if(n===!0?i=l({},Ji):n===!1?i=l({},eo):i=n,K(e))return Pr(this.currentUrlTree,e,i);let o=this.parseUrl(e);return Pr(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((n,[i,o])=>(o!=null&&(n[i]=o),n),{})}scheduleNavigation(e,n,i,o,s){if(this.disposed)return Promise.resolve(!1);let u,a,c;s?(u=s.resolve,a=s.reject,c=s.promise):c=new Promise((f,y)=>{u=f,a=y});let h=this.pendingTasks.add();return Xi(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(h))}),this.navigationTransitions.handleNavigationRequest({source:n,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:u,reject:a,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(f=>Promise.reject(f))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=b({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function to(t){for(let r=0;r<t.length;r++)if(t[r]==null)throw new w(4008,!1)}function ro(t){return!(t instanceof be)&&!(t instanceof ue)}var Fr=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;href=null;target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new V;constructor(e,n,i,o,s,u){this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=u;let a=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=a==="a"||a==="area",this.isAnchorElement?this.subscription=e.events.subscribe(c=>{c instanceof q&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),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,n,i,o,s){let u=this.urlTree;if(u===null||this.isAnchorElement&&(e!==0||n||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let a={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(u,a),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.href=e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e)):null;let n=this.href===null?null:vr(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(e,n){let i=this.renderer,o=this.el.nativeElement;n!==null?i.setAttribute(o,e,n):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(n){return new(n||t)(j(nt),j(Y),hr("tabindex"),j(pt),j(ft),j(vt))};static \u0275dir=$e({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(n,i){n&1&&Mr("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),n&2&&Ar("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:[Ne]})}return t})(),Go=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new te;constructor(e,n,i,o,s){this.router=e,this.element=n,this.renderer=i,this.cdr=o,this.link=s,this.routerEventsSubscription=e.events.subscribe(u=>{u instanceof q&&this.update()})}ngAfterContentInit(){d(this.links.changes,d(null)).pipe(st()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(n=>!!n).map(n=>n.onChanges);this.linkInputChangesSubscription=O(e).pipe(st()).subscribe(n=>{this._isActive!==this.isLinkActive(this.router)(n)&&this.update()})}set routerLinkActive(e){let n=Array.isArray(e)?e:e.split(" ");this.classes=n.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(n=>{e?this.renderer.addClass(this.element.nativeElement,n):this.renderer.removeClass(this.element.nativeElement,n)}),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 n=no(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let o=i.urlTree;return o?e.isActive(o,n):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(n){return new(n||t)(j(nt),j(ft),j(pt),j(Le),j(Fr,8))};static \u0275dir=$e({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(n,i,o){if(n&1&&Or(o,Fr,5),n&2){let s;Tr(s=Ur())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Ne]})}return t})();function no(t){return!!t.paths}var io=new P("");function Qo(t,...r){return lr([{provide:Xt,multi:!0,useValue:t},[],{provide:Y,useFactory:oo,deps:[nt]},{provide:br,multi:!0,useFactory:ao},r.map(e=>e.\u0275providers)])}function oo(t){return t.routerState.root}function so(t,r){return{\u0275kind:t,\u0275providers:r}}function ao(){let t=g(dr);return r=>{let e=t.get(Ir);if(r!==e.components[0])return;let n=t.get(nt),i=t.get(uo);t.get(co)===1&&n.initialNavigation(),t.get(lo,null,lt.Optional)?.setUpPreloading(),t.get(io,null,lt.Optional)?.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var uo=new P("",{factory:()=>new V}),co=new P("",{providedIn:"root",factory:()=>1});var lo=new P("");function Ko(){return so(8,[Lr,{provide:tt,useExisting:Lr}])}export{q as a,Y as b,Qn as c,nt as d,Fr as e,Go as f,Qo as g,Ko as h};
@@ -1 +1 @@
1
- import{a as D}from"./chunk-OELZQ6RK.js";import{a as b,n as w}from"./chunk-6WLXFV43.js";import"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import{i as A}from"./chunk-2IDHF5MN.js";import{Ab as v,Gb as P,Kb as k,Lb as s,Oa as l,X as y,Yb as C,Zb as p,_a as T,_b as E,ca as O,da as x,db as a,kc as _,lb as d,lc as N,mb as h,nb as f,qb as g,qc as F,sa as m,sb as I,tb as M,ub as c,vb as r,yc as $,zb as u}from"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";var L=e=>({children:e,level:0}),R=e=>({$implicit:e}),V=(e,t)=>({children:e,level:t}),j=(e,t)=>t.id;function z(e,t){if(e&1&&(c(0,"spk-icon"),p(1,"caret-down"),r()),e&2){let n=s().$implicit;f("open",n.isOpen())}}function B(e,t){e&1&&(c(0,"spk-icon"),p(1,"dot"),r())}function G(e,t){e&1&&u(0)}function U(e,t){if(e&1&&a(0,G,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,R,N(2,V,n.children,o.level+1)))}}function X(e,t){if(e&1){let n=v();c(0,"div",4,1),k("click",function(){let i=O(n).$implicit,Y=s(2);return x(i.children.length>0&&Y.toggleNode(i))}),a(2,z,2,2,"spk-icon",5)(3,B,2,0,"spk-icon"),c(4,"div",6),p(5),r()(),a(6,U,1,7,"ng-container")}if(e&2){let n=t.$implicit;f("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),g(n.children.length>0?2:3),l(3),E(n.text),l(),g(n.isOpen()?6:-1)}}function q(e,t){if(e&1&&(c(0,"spk-list"),I(1,X,7,7,null,null,j),r()),e&2){let n=t.$implicit;h("padding-left",n.level*.25,"rem"),l(),M(n.children)}}function H(e,t){e&1&&u(0)}var S=class e{#e=y(D);treeStructure=$(()=>{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:m(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:m(!1)});return o}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=T({type:e,selectors:[["app-system-info"]],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(),a(2,q,3,2,"ng-template",null,0,F)(4,H,1,0,"ng-container",3)),n&2){let i=C(3);l(4),d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,R,_(2,L,o.treeStructure())))}},dependencies:[w,b,A],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}spk-list[_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{S as default};
1
+ import{a as D}from"./chunk-SAVY3OEX.js";import{a as b,n as w}from"./chunk-WX7L7V6J.js";import"./chunk-PTDSOPNK.js";import"./chunk-MZ473NLM.js";import{i as A}from"./chunk-CKPICCFH.js";import{$b as p,Ac as $,Bb as u,Cb as v,Ib as P,Mb as k,Nb as s,Qa as l,Y as y,_b as C,ab as T,ac as E,da as O,ea as x,fb as a,mc as _,nb as d,nc as N,ob as h,pb as f,sb as g,sc as F,ua as m,ub as I,vb as M,wb as c,xb as r}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var L=e=>({children:e,level:0}),R=e=>({$implicit:e}),V=(e,t)=>({children:e,level:t}),j=(e,t)=>t.id;function z(e,t){if(e&1&&(c(0,"spk-icon"),p(1,"caret-down"),r()),e&2){let n=s().$implicit;f("open",n.isOpen())}}function B(e,t){e&1&&(c(0,"spk-icon"),p(1,"dot"),r())}function G(e,t){e&1&&u(0)}function U(e,t){if(e&1&&a(0,G,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,R,N(2,V,n.children,o.level+1)))}}function X(e,t){if(e&1){let n=v();c(0,"div",4,1),k("click",function(){let i=O(n).$implicit,Y=s(2);return x(i.children.length>0&&Y.toggleNode(i))}),a(2,z,2,2,"spk-icon",5)(3,B,2,0,"spk-icon"),c(4,"div",6),p(5),r()(),a(6,U,1,7,"ng-container")}if(e&2){let n=t.$implicit;f("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),g(n.children.length>0?2:3),l(3),E(n.text),l(),g(n.isOpen()?6:-1)}}function q(e,t){if(e&1&&(c(0,"spk-list"),I(1,X,7,7,null,null,j),r()),e&2){let n=t.$implicit;h("padding-left",n.level*.25,"rem"),l(),M(n.children)}}function H(e,t){e&1&&u(0)}var S=class e{#e=y(D);treeStructure=$(()=>{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:m(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:m(!1)});return o}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=T({type:e,selectors:[["app-system-info"]],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(),a(2,q,3,2,"ng-template",null,0,F)(4,H,1,0,"ng-container",3)),n&2){let i=C(3);l(4),d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,R,_(2,L,o.treeStructure())))}},dependencies:[w,b,A],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}spk-list[_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{S as default};
@@ -1 +1 @@
1
- import{a as z}from"./chunk-GWH4FCBZ.js";import{a as x,c as w,d as B,e as U,f as X}from"./chunk-7WCKE7GY.js";import"./chunk-BIHIR35J.js";import{a as K,f as V,o as h}from"./chunk-6WLXFV43.js";import"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import"./chunk-2IDHF5MN.js";import{Ab as R,Eb as l,Fb as s,Gb as b,Hb as y,Ib as v,Kb as u,Lb as c,Oa as p,X as T,_a as D,ca as a,da as S,db as P,lb as N,qb as G,sa as $,ub as i,vb as t,wb as _,xb as M,yb as f}from"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";function W(g,F){if(g&1){let n=R();i(0,"spk-menu",15)(1,"button",16),b(2,2),t(),M(3,17),i(4,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Disabled"))}),l(5,3),_(6,"spk-icon"),s(),t(),i(7,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Verbose"))}),l(8,4),_(9,"spk-icon"),s(),t(),i(10,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("ExplicitOnly"))}),l(11,5),_(12,"spk-icon"),s(),t(),i(13,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Profiling"))}),l(14,6),_(15,"spk-icon"),s(),t(),i(16,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Retry"))}),l(17,7),_(18,"spk-icon"),s(),t(),i(19,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Information"))}),l(20,8),_(21,"spk-icon"),s(),t(),i(22,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("DryRun"))}),l(23,9),_(24,"spk-icon"),s(),t(),i(25,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Warning"))}),l(26,10),_(27,"spk-icon"),s(),t(),i(28,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Error"))}),l(29,11),_(30,"spk-icon"),s(),t(),f(),t()}if(g&2){let n=c();N("openIndicator",!0),p(2),y(n.logLevelByLabel()),v(2)}}var O=class g{#n=T(B);#e=T(z);logLevel=this.#e.logLevel;logLevelByLabel=this.#e.logLevelByLabel;currentUrl=$(this.#n.url);constructor(){this.#n.events.subscribe(F=>{F instanceof x&&this.currentUrl.set(F.urlAfterRedirects)})}updateLogLevel(F){this.#e.updateLogLevel(F)}static \u0275fac=function(n){return new(n||g)};static \u0275cmp=D({type:g,selectors:[["app-logs"]],decls:10,vars:1,consts:()=>{let F;F=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:archive${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Stored `;let n;n=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SPK_ICON:play${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_ICON: Live `;let o;o=$localize`Log level: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SPK_ICON:bell-simple-slash${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SPK_ICON: Disabled `;let C;C=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:megaphone-simple${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: Verbose `;let L;L=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:flow-arrow${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Explicit only `;let d;d=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:speedometer${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Profiling `;let k;k=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SPK_ICON:arrow-arc-left${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SPK_ICON: Retry `;let I;I=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SPK_ICON: Information `;let E;E=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SPK_ICON:person-simple-run${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SPK_ICON: Dry run `;let A;A=$localize`${"\uFFFD#27\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_SPK_ICON: Warning `;let m;return m=$localize`${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON:warning-octagon${"\uFFFD/#30\uFFFD"}:CLOSE_TAG_SPK_ICON: Error `,[F,n,o,e,C,L,d,k,I,E,A,m,[1,"filters"],["type","button","routerLink","/about/logs/stored","routerLinkActive","active"],["type","button","routerLink","/about/logs/live","routerLinkActive","active"],[3,"openIndicator"],["spk-button","","type","button"],["menu",""],["spk-button","","type","button",1,"small",3,"click"]]},template:function(n,o){n&1&&(i(0,"div",12)(1,"spk-button-group")(2,"button",13),l(3,0),_(4,"spk-icon"),s(),t(),i(5,"button",14),l(6,1),_(7,"spk-icon"),s(),t()(),P(8,W,31,2,"spk-menu",15),t(),_(9,"router-outlet")),n&2&&(p(8),G(o.currentUrl().startsWith("/about/logs/live")?8:-1))},dependencies:[V,K,h,w,X,U],styles:["[_nghost-%COMP%]{display:block}.filters[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}"],changeDetection:0})};export{O as default};
1
+ import{a as z}from"./chunk-7EYE3BSS.js";import{a as x,c as w,d as B,e as U,f as X}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as K,f as V,o as h}from"./chunk-WX7L7V6J.js";import"./chunk-PTDSOPNK.js";import"./chunk-MZ473NLM.js";import"./chunk-CKPICCFH.js";import{Ab as f,Cb as R,Gb as l,Hb as s,Ib as b,Jb as y,Kb as v,Mb as u,Nb as c,Qa as p,Y as T,ab as D,da as a,ea as S,fb as P,nb as N,sb as G,ua as $,wb as i,xb as t,yb as _,zb as M}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function W(g,F){if(g&1){let n=R();i(0,"spk-menu",15)(1,"button",16),b(2,2),t(),M(3,17),i(4,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Disabled"))}),l(5,3),_(6,"spk-icon"),s(),t(),i(7,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Verbose"))}),l(8,4),_(9,"spk-icon"),s(),t(),i(10,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("ExplicitOnly"))}),l(11,5),_(12,"spk-icon"),s(),t(),i(13,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Profiling"))}),l(14,6),_(15,"spk-icon"),s(),t(),i(16,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Retry"))}),l(17,7),_(18,"spk-icon"),s(),t(),i(19,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Information"))}),l(20,8),_(21,"spk-icon"),s(),t(),i(22,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("DryRun"))}),l(23,9),_(24,"spk-icon"),s(),t(),i(25,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Warning"))}),l(26,10),_(27,"spk-icon"),s(),t(),i(28,"button",18),u("click",function(){a(n);let e=c();return S(e.updateLogLevel("Error"))}),l(29,11),_(30,"spk-icon"),s(),t(),f(),t()}if(g&2){let n=c();N("openIndicator",!0),p(2),y(n.logLevelByLabel()),v(2)}}var O=class g{#n=T(B);#e=T(z);logLevel=this.#e.logLevel;logLevelByLabel=this.#e.logLevelByLabel;currentUrl=$(this.#n.url);constructor(){this.#n.events.subscribe(F=>{F instanceof x&&this.currentUrl.set(F.urlAfterRedirects)})}updateLogLevel(F){this.#e.updateLogLevel(F)}static \u0275fac=function(n){return new(n||g)};static \u0275cmp=D({type:g,selectors:[["app-logs"]],decls:10,vars:1,consts:()=>{let F;F=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:archive${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Stored `;let n;n=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SPK_ICON:play${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SPK_ICON: Live `;let o;o=$localize`Log level: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SPK_ICON:bell-simple-slash${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SPK_ICON: Disabled `;let C;C=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:megaphone-simple${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: Verbose `;let L;L=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:flow-arrow${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Explicit only `;let d;d=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_ICON:speedometer${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_ICON: Profiling `;let k;k=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SPK_ICON:arrow-arc-left${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SPK_ICON: Retry `;let I;I=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SPK_ICON: Information `;let E;E=$localize`${"\uFFFD#24\uFFFD"}:START_TAG_SPK_ICON:person-simple-run${"\uFFFD/#24\uFFFD"}:CLOSE_TAG_SPK_ICON: Dry run `;let A;A=$localize`${"\uFFFD#27\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#27\uFFFD"}:CLOSE_TAG_SPK_ICON: Warning `;let m;return m=$localize`${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON:warning-octagon${"\uFFFD/#30\uFFFD"}:CLOSE_TAG_SPK_ICON: Error `,[F,n,o,e,C,L,d,k,I,E,A,m,[1,"filters"],["type","button","routerLink","/about/logs/stored","routerLinkActive","active"],["type","button","routerLink","/about/logs/live","routerLinkActive","active"],[3,"openIndicator"],["spk-button","","type","button"],["menu",""],["spk-button","","type","button",1,"small",3,"click"]]},template:function(n,o){n&1&&(i(0,"div",12)(1,"spk-button-group")(2,"button",13),l(3,0),_(4,"spk-icon"),s(),t(),i(5,"button",14),l(6,1),_(7,"spk-icon"),s(),t()(),P(8,W,31,2,"spk-menu",15),t(),_(9,"router-outlet")),n&2&&(p(8),G(o.currentUrl().startsWith("/about/logs/live")?8:-1))},dependencies:[V,K,h,w,X,U],styles:["[_nghost-%COMP%]{display:block}.filters[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}"],changeDetection:0})};export{O as default};
@@ -1 +1 @@
1
- import{a as h}from"./chunk-KEHATBLP.js";import"./chunk-RHW5QVAY.js";import{b as v,c as G,e as L,f as w,i as U,n as K,q as X,r as x,t as V}from"./chunk-QTTYDT3P.js";import"./chunk-PX25CWH6.js";import{d as O,e as A}from"./chunk-7WCKE7GY.js";import"./chunk-BIHIR35J.js";import{a as R,c as N,g as E,l as $,m as y,z as B}from"./chunk-6WLXFV43.js";import{b}from"./chunk-DYCJPQSE.js";import"./chunk-TKVTCBLW.js";import"./chunk-2IDHF5MN.js";import{E as g,Eb as P,Fb as I,Gb as _,Jb as M,Kb as d,Oa as s,X as F,_a as T,db as S,jc as k,lb as u,nb as C,qb as D,sa as m,ub as r,vb as n,wb as l}from"./chunk-GM25ACCR.js";import"./chunk-7CGTOI24.js";var z=()=>["/"];function j(c,t){c&1&&(r(0,"spk-form-field")(1,"label",14),_(2,3),n(),l(3,"input",15),n())}var p=new x,f=class c{#e=F(N);#t=F(b);#o=F(h);#n=F(O);isImporting=m(!1);isSecureFile=m(!1);importForm=p.group({config:p.control(""),cmdline:p.control(!1),importMetadata:p.control(!1),direct:p.control(!1),passphrase:p.control("")});selectedFile=m([]);onFileDropped(t){let e=t[0];if(e){let o=new FileReader;this.isSecureFile.set(e.type!=="application/json"),o.onload=this.#i.bind(this),o.readAsArrayBuffer(e)}}#i(t){let e=t.target?.result;this.importForm.patchValue({config:this.#r(e)})}#r(t){let e=new Uint8Array(t),o=e.byteLength,a="";for(let i=0;i<o;i++)a+=String.fromCharCode(e[i]);return btoa(a)}submit(){this.isImporting.set(!0),this.#t.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(g(()=>this.isImporting.set(!1))).subscribe({next:t=>{let e=this.#o.addDraftBackup(t.data);this.#n.navigate(["/backup-draft",e])},error:t=>{this.#e.error(t.message)}})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=T({type:c,selectors:[["app-import"]],decls:19,vars:8,consts:()=>{let t;t=$localize` Import backup configuration ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Import ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,t=M(t);let e;e=$localize`Import Metadata`;let o;o=$localize`Save now`;let a;return a=$localize`Passphrase`,[t,e,o,a,[1,"actions"],["spk-button","","type","button",1,"outlined",3,"routerLink"],["spk-button","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["accept",".json,.aes",3,"filesChange","files"],[1,"primary","raised"],["for","importMetadata"],["type","checkbox","formControlName","importMetadata"],["for","direct"],["type","checkbox","formControlName","direct"],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(e,o){e&1&&(r(0,"header")(1,"h3"),P(2,0),r(3,"div",4)(4,"button",5),l(5,"spk-icon"),n(),r(6,"button",6),d("click",function(){return o.submit()}),l(7,"spk-icon"),n()(),I(),n()(),r(8,"form",7)(9,"spk-file-upload",8),d("filesChange",function(i){return o.onFileDropped(i)}),n(),S(10,j,4,0,"spk-form-field"),r(11,"spk-toggle",9)(12,"label",10),_(13,1),n(),l(14,"input",11),n(),r(15,"spk-toggle",9)(16,"label",12),_(17,2),n(),l(18,"input",13),n()()),e&2&&(s(4),u("routerLink",k(7,z)),s(2),C("loader",o.isImporting()),u("disabled",o.isImporting()),s(2),u("formGroup",o.importForm),s(),u("files",o.selectedFile()),s(),D(o.isSecureFile()?10:-1))},dependencies:[V,U,G,v,L,w,K,X,A,$,R,E,B,y],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}spk-file-upload[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})};export{f as default};
1
+ import{a as h}from"./chunk-VOGYVLLM.js";import"./chunk-RHW5QVAY.js";import{b as v,c as G,e as L,f as w,i as U,n as K,q as X,r as x,t as V}from"./chunk-T2OUHRUV.js";import"./chunk-I3C2AEHI.js";import{d as O,e as A}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as R,c as N,g as E,l as $,m as y,z as B}from"./chunk-WX7L7V6J.js";import{b}from"./chunk-PTDSOPNK.js";import"./chunk-MZ473NLM.js";import"./chunk-CKPICCFH.js";import{F as g,Gb as P,Hb as I,Ib as _,Lb as M,Mb as d,Qa as s,Y as F,ab as T,fb as S,lc as k,nb as u,pb as C,sb as D,ua as m,wb as r,xb as n,yb as l}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var z=()=>["/"];function j(c,t){c&1&&(r(0,"spk-form-field")(1,"label",14),_(2,3),n(),l(3,"input",15),n())}var p=new x,f=class c{#e=F(N);#t=F(b);#o=F(h);#n=F(O);isImporting=m(!1);isSecureFile=m(!1);importForm=p.group({config:p.control(""),cmdline:p.control(!1),importMetadata:p.control(!1),direct:p.control(!1),passphrase:p.control("")});selectedFile=m([]);onFileDropped(t){let e=t[0];if(e){let o=new FileReader;this.isSecureFile.set(e.type!=="application/json"),o.onload=this.#i.bind(this),o.readAsArrayBuffer(e)}}#i(t){let e=t.target?.result;this.importForm.patchValue({config:this.#r(e)})}#r(t){let e=new Uint8Array(t),o=e.byteLength,a="";for(let i=0;i<o;i++)a+=String.fromCharCode(e[i]);return btoa(a)}submit(){this.isImporting.set(!0),this.#t.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(g(()=>this.isImporting.set(!1))).subscribe({next:t=>{let e=this.#o.addDraftBackup(t.data);this.#n.navigate(["/backup-draft",e])},error:t=>{this.#e.error(t.message)}})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=T({type:c,selectors:[["app-import"]],decls:19,vars:8,consts:()=>{let t;t=$localize` Import backup configuration ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Import ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,t=M(t);let e;e=$localize`Import Metadata`;let o;o=$localize`Save now`;let a;return a=$localize`Passphrase`,[t,e,o,a,[1,"actions"],["spk-button","","type","button",1,"outlined",3,"routerLink"],["spk-button","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["accept",".json,.aes",3,"filesChange","files"],[1,"primary","raised"],["for","importMetadata"],["type","checkbox","formControlName","importMetadata"],["for","direct"],["type","checkbox","formControlName","direct"],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(e,o){e&1&&(r(0,"header")(1,"h3"),P(2,0),r(3,"div",4)(4,"button",5),l(5,"spk-icon"),n(),r(6,"button",6),d("click",function(){return o.submit()}),l(7,"spk-icon"),n()(),I(),n()(),r(8,"form",7)(9,"spk-file-upload",8),d("filesChange",function(i){return o.onFileDropped(i)}),n(),S(10,j,4,0,"spk-form-field"),r(11,"spk-toggle",9)(12,"label",10),_(13,1),n(),l(14,"input",11),n(),r(15,"spk-toggle",9)(16,"label",12),_(17,2),n(),l(18,"input",13),n()()),e&2&&(s(4),u("routerLink",k(7,z)),s(2),C("loader",o.isImporting()),u("disabled",o.isImporting()),s(2),u("formGroup",o.importForm),s(),u("files",o.selectedFile()),s(),D(o.isSecureFile()?10:-1))},dependencies:[V,U,G,v,L,w,K,X,A,$,R,E,B,y],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}spk-file-upload[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})};export{f as default};
@@ -0,0 +1 @@
1
+ import{b as u}from"./chunk-PTDSOPNK.js";import{Ac as i,F as a,P as p,S as l,Y as m,ua as n}from"./chunk-W2F756OF.js";var d=class r{#s=m(u);isLoaded=n(!1);systemInfo=n(null);filterGroups=n(null);backendModules=i(()=>this.systemInfo()?.BackendModules??[]);allOptionsGrouped=i(()=>{let e={displayName:"Default",options:this.systemInfo()?.Options?.map(this.#e)??[]},s=this.systemInfo()?.GenericModules?.map(t=>({displayName:t.DisplayName??t.Key,options:t.Options?.map(this.#e)??[]}))??[],o=this.systemInfo()?.CompressionModules?.map(t=>({displayName:t.DisplayName??t.Key,options:t.Options?.map(this.#e)??[]}))??[];return[e,...s,...o]});allOptions=i(()=>this.allOptionsGrouped().reduce((e,s)=>[...e,...s.options],[]));hasV2ListOperations=i(()=>{let e=this.systemInfo()?.APIExtensions??[];return e.includes("v2:backup:list-filesets")&&e.includes("v2:backup:list-folder")});hasV2TestOperations=i(()=>(this.systemInfo()?.APIExtensions??[]).includes("v2:destination:test"));preload(e=!1){let s=this.#s.getApiV1Systeminfo().pipe(p(o=>{this.systemInfo.set(o)}),a(()=>this.isLoaded.set(!0)));if(e)return s;s.subscribe()}preloadFilterGroups(e=!1){let s=this.#s.getApiV1SysteminfoFiltergroups().pipe(p(o=>{this.filterGroups.set(o)}),a(()=>this.isLoaded.set(!0)));if(e)return s;s.subscribe()}#e(e){return{name:e.Name,type:e.Type,shortDescription:e.ShortDescription??void 0,longDescription:e.LongDescription??void 0,options:e.ValidValues}}static \u0275fac=function(s){return new(s||r)};static \u0275prov=l({token:r,factory:r.\u0275fac,providedIn:"root"})};export{d as a};