From 1c3055cacd60e05a2d7a209ec9450df31a5dd57d Mon Sep 17 00:00:00 2001 From: Louis Chemineau Date: Wed, 18 Dec 2024 16:08:34 +0100 Subject: [PATCH 1/2] fix: Remove some permissions to e2ee nodes to hide some file actions Signed-off-by: Louis Chemineau --- src/services/webDavProxy.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/webDavProxy.ts b/src/services/webDavProxy.ts index 4903454d..19aa8ebf 100644 --- a/src/services/webDavProxy.ts +++ b/src/services/webDavProxy.ts @@ -144,7 +144,7 @@ export function replacePlaceholdersInPropfind(xml: DAVResult, folderPath: string } const identifier = childNode.propstat.prop.displayname - let name: string|undefined + let name = identifier if (relevantMetadataInfo.files[identifier]) { name = relevantMetadataInfo.files[identifier].filename @@ -152,11 +152,11 @@ export function replacePlaceholdersInPropfind(xml: DAVResult, folderPath: string } else if (relevantMetadataInfo.folders[identifier]) { name = relevantMetadataInfo.folders[identifier] childNode.propstat.prop.getcontenttype = 'httpd/unix-directory' - } else { - return } childNode.propstat.prop.displayname = name + // TODO: Enable more feature by keeping permissions + childNode.propstat.prop.permissions = (childNode.propstat.prop.permissions as string).replace(/(R)|(D)|(N)|(V)|(W)|(CK)/g, '') }) } From 560d0ee6a71bd982a5286dbd95e6c6bcdad38e7e Mon Sep 17 00:00:00 2001 From: nextcloud-command Date: Thu, 19 Dec 2024 14:02:18 +0000 Subject: [PATCH 2/2] chore(assets): Recompile assets Signed-off-by: nextcloud-command --- js/end_to_end_encryption-files.mjs | 2 +- js/end_to_end_encryption-files.mjs.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/js/end_to_end_encryption-files.mjs b/js/end_to_end_encryption-files.mjs index 336526ea..c1b4fe36 100644 --- a/js/end_to_end_encryption-files.mjs +++ b/js/end_to_end_encryption-files.mjs @@ -1,2 +1,2 @@ (function(){"use strict";try{if(typeof document<"u"){var i=document.createElement("style");i.appendChild(document.createTextNode("/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */.toastify.dialogs{min-width:200px;background:none;background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 6px 0 var(--color-box-shadow);padding:0 12px;margin-top:45px;position:fixed;z-index:10100;border-radius:var(--border-radius);display:flex;align-items:center}.toastify.dialogs .toast-undo-container{display:flex;align-items:center}.toastify.dialogs .toast-undo-button,.toastify.dialogs .toast-close{position:static;overflow:hidden;box-sizing:border-box;min-width:44px;height:100%;padding:12px;white-space:nowrap;background-repeat:no-repeat;background-position:center;background-color:transparent;min-height:0}.toastify.dialogs .toast-undo-button.toast-close,.toastify.dialogs .toast-close.toast-close{text-indent:0;opacity:.4;border:none;min-height:44px;margin-left:10px;font-size:0}.toastify.dialogs .toast-undo-button.toast-close:before,.toastify.dialogs .toast-close.toast-close:before{background-image:url(\"data:image/svg+xml,%3csvg%20viewBox='0%200%2016%2016'%20height='16'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2'%3e%3cpath%20d='M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z'%20style='fill-rule:nonzero'%20transform='matrix(.85714%200%200%20.85714%20-2.286%20-2.286)'/%3e%3c/svg%3e\");content:\" \";filter:var(--background-invert-if-dark);display:inline-block;width:16px;height:16px}.toastify.dialogs .toast-undo-button.toast-undo-button,.toastify.dialogs .toast-close.toast-undo-button{height:calc(100% - 6px);margin:3px 3px 3px 12px}.toastify.dialogs .toast-undo-button:hover,.toastify.dialogs .toast-undo-button:focus,.toastify.dialogs .toast-undo-button:active,.toastify.dialogs .toast-close:hover,.toastify.dialogs .toast-close:focus,.toastify.dialogs .toast-close:active{cursor:pointer;opacity:1}.toastify.dialogs.toastify-top{right:10px}.toastify.dialogs.toast-with-click{cursor:pointer}.toastify.dialogs.toast-error{border-left:3px solid var(--color-error)}.toastify.dialogs.toast-info{border-left:3px solid var(--color-primary)}.toastify.dialogs.toast-warning{border-left:3px solid var(--color-warning)}.toastify.dialogs.toast-success,.toastify.dialogs.toast-undo{border-left:3px solid var(--color-success)}.theme--dark .toastify.dialogs .toast-close.toast-close:before{background-image:url(\"data:image/svg+xml,%3csvg%20viewBox='0%200%2016%2016'%20height='16'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2'%3e%3cpath%20d='M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z'%20style='fill:%23fff;fill-rule:nonzero'%20transform='matrix(.85714%200%200%20.85714%20-2.286%20-2.286)'/%3e%3c/svg%3e\")}.nc-generic-dialog .dialog__actions{justify-content:space-between;min-width:calc(100% - 12px)}/*!\n * SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */._file-picker__file-icon_19mjt_9{width:32px;height:32px;min-width:32px;min-height:32px;background-repeat:no-repeat;background-size:contain;display:flex;justify-content:center}tr.file-picker__row[data-v-15187afc]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-15187afc]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-15187afc]{padding:0 2px}tr.file-picker__row td[data-v-15187afc]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-15187afc]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-15187afc]{padding-inline:2px 0}@keyframes gradient-15187afc{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.loading-row .row-checkbox[data-v-15187afc]{text-align:center!important}.loading-row span[data-v-15187afc]{display:inline-block;height:24px;background:linear-gradient(to right,var(--color-background-darker),var(--color-text-maxcontrast),var(--color-background-darker));background-size:600px 100%;border-radius:var(--border-radius);animation:gradient-15187afc 12s ease infinite}.loading-row .row-wrapper[data-v-15187afc]{display:inline-flex;align-items:center}.loading-row .row-checkbox span[data-v-15187afc]{width:24px}.loading-row .row-name span[data-v-15187afc]:last-of-type{margin-inline-start:6px;width:130px}.loading-row .row-size span[data-v-15187afc]{width:80px}.loading-row .row-modified span[data-v-15187afc]{width:90px}/*!\n* SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors\n* SPDX-License-Identifier: AGPL-3.0-or-later\n*/tr.file-picker__row[data-v-cb12dccb]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-cb12dccb]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-cb12dccb]{padding:0 2px}tr.file-picker__row td[data-v-cb12dccb]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-cb12dccb]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-cb12dccb]{padding-inline:2px 0}.file-picker__row--selected[data-v-cb12dccb]{background-color:var(--color-background-dark)}.file-picker__row[data-v-cb12dccb]:hover{background-color:var(--color-background-hover)}.file-picker__name-container[data-v-cb12dccb]{display:flex;justify-content:start;align-items:center;height:100%}.file-picker__file-name[data-v-cb12dccb]{padding-inline-start:6px;min-width:0;overflow:hidden;text-overflow:ellipsis}.file-picker__file-extension[data-v-cb12dccb]{color:var(--color-text-maxcontrast);min-width:fit-content}.file-picker__header-preview[data-v-006fdbd0]{width:22px;height:32px;flex:0 0 auto}.file-picker__files[data-v-006fdbd0]{margin:2px;margin-inline-start:12px;overflow:scroll auto}.file-picker__files table[data-v-006fdbd0]{width:100%;max-height:100%;table-layout:fixed}.file-picker__files th[data-v-006fdbd0]{position:-webkit-sticky;position:sticky;z-index:1;top:0;background-color:var(--color-main-background);padding:2px}.file-picker__files th .header-wrapper[data-v-006fdbd0]{display:flex}.file-picker__files th.row-checkbox[data-v-006fdbd0]{width:44px}.file-picker__files th.row-name[data-v-006fdbd0]{width:230px}.file-picker__files th.row-size[data-v-006fdbd0]{width:100px}.file-picker__files th.row-modified[data-v-006fdbd0]{width:120px}.file-picker__files th[data-v-006fdbd0]:not(.row-size) .button-vue__wrapper{justify-content:start;flex-direction:row-reverse}.file-picker__files th[data-v-006fdbd0]:not(.row-size) .button-vue{padding-inline:16px 4px}.file-picker__files th.row-size[data-v-006fdbd0] .button-vue__wrapper{justify-content:end}.file-picker__files th[data-v-006fdbd0] .button-vue__wrapper{color:var(--color-text-maxcontrast)}.file-picker__files th[data-v-006fdbd0] .button-vue__wrapper .button-vue__text{font-weight:400}.file-picker__breadcrumbs[data-v-b357227a]{flex-grow:0!important}.file-picker__side[data-v-b42054b8]{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;min-width:200px;padding:2px;margin-block-start:7px;overflow:auto}.file-picker__side[data-v-b42054b8] .button-vue__wrapper{justify-content:start}.file-picker__filter-input[data-v-b42054b8]{margin-block:7px;max-width:260px}@media (max-width: 736px){.file-picker__side[data-v-b42054b8]{flex-direction:row;min-width:unset}}@media (max-width: 512px){.file-picker__side[data-v-b42054b8]{flex-direction:row;min-width:unset}.file-picker__filter-input[data-v-b42054b8]{max-width:unset}}.file-picker__navigation{padding-inline:8px 2px}.file-picker__navigation,.file-picker__navigation *{box-sizing:border-box}.file-picker__navigation .v-select.select{min-width:220px}@media (min-width: 513px) and (max-width: 736px){.file-picker__navigation{gap:11px}}@media (max-width: 512px){.file-picker__navigation{flex-direction:column-reverse!important}}.file-picker__view[data-v-20b719ba]{height:50px;display:flex;justify-content:start;align-items:center}.file-picker__view h3[data-v-20b719ba]{font-weight:700;height:fit-content;margin:0}.file-picker__main[data-v-20b719ba]{box-sizing:border-box;width:100%;display:flex;flex-direction:column;min-height:0;flex:1;padding-inline:2px}.file-picker__main *[data-v-20b719ba]{box-sizing:border-box}[data-v-20b719ba] .file-picker{height:min(80vh,800px)!important}@media (max-width: 512px){[data-v-20b719ba] .file-picker{height:calc(100% - 16px - var(--default-clickable-area))!important}}[data-v-20b719ba] .file-picker__content{display:flex;flex-direction:column;overflow:hidden}.material-design-icon[data-v-e4fac465]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-e4fac465]{--input-border-radius: var(--border-radius-element, var(--border-radius-large));--input-padding-start: var(--border-radius-large);--input-padding-end: var(--border-radius-large);position:relative;width:100%;margin-block-start:6px}.input-field--disabled[data-v-e4fac465]{opacity:.4;filter:saturate(.4)}.input-field--label-outside[data-v-e4fac465]{margin-block-start:0}.input-field--leading-icon[data-v-e4fac465]{--input-padding-start: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--trailing-icon[data-v-e4fac465]{--input-padding-end: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--pill[data-v-e4fac465]{--input-border-radius: var(--border-radius-pill)}.input-field__main-wrapper[data-v-e4fac465]{height:var(--default-clickable-area);position:relative}.input-field__input[data-v-e4fac465]{--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));background-color:var(--color-main-background);color:var(--color-main-text);border:var(--border-width-input, 2px) solid var(--color-border-maxcontrast);border-radius:var(--input-border-radius);cursor:pointer;-webkit-appearance:textfield!important;-moz-appearance:textfield!important;appearance:textfield!important;font-size:var(--default-font-size);text-overflow:ellipsis;height:calc(var(--default-clickable-area) - 2 * var(--input-border-width-offset))!important;width:100%;padding-inline:calc(var(--input-padding-start) + var(--input-border-width-offset)) calc(var(--input-padding-end) + var(--input-border-width-offset));padding-block:var(--input-border-width-offset)}.input-field__input[data-v-e4fac465]::placeholder{color:var(--color-text-maxcontrast)}.input-field__input[data-v-e4fac465]:active:not([disabled]),.input-field__input[data-v-e4fac465]:hover:not([disabled]),.input-field__input[data-v-e4fac465]:focus:not([disabled]){border-color:var(--color-main-text);border-width:var(--border-width-input-focused, 2px);box-shadow:0 0 0 2px var(--color-main-background)!important;--input-border-width-offset: 0px}.input-field__input:focus+.input-field__label[data-v-e4fac465],.input-field__input:hover:not(:placeholder-shown)+.input-field__label[data-v-e4fac465]{color:var(--color-main-text)}.input-field__input[data-v-e4fac465]:focus{cursor:text}.input-field__input[data-v-e4fac465]:disabled{cursor:default}.input-field__input[data-v-e4fac465]:focus-visible{box-shadow:unset!important}.input-field__input--success[data-v-e4fac465]{border-color:var(--color-success)!important}.input-field__input--success[data-v-e4fac465]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field__input--error[data-v-e4fac465],.input-field__input[data-v-e4fac465]:invalid{border-color:var(--color-error)!important}.input-field__input--error[data-v-e4fac465]:focus-visible,.input-field__input[data-v-e4fac465]:invalid:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field:not(.input-field--label-outside) .input-field__input[data-v-e4fac465]:not(:focus)::placeholder{opacity:0}.input-field__label[data-v-e4fac465]{--input-label-font-size: var(--default-font-size);position:absolute;margin-inline:var(--input-padding-start) var(--input-padding-end);max-width:fit-content;font-size:var(--input-label-font-size);inset-block-start:calc((var(--default-clickable-area) - 1lh) / 2);inset-inline:var(--border-width-input-focused, 2px);color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.input-field__input:focus+.input-field__label[data-v-e4fac465],.input-field__input:not(:placeholder-shown)+.input-field__label[data-v-e4fac465]{--input-label-font-size: 13px;line-height:1.5;inset-block-start:calc(-1.5 * var(--input-label-font-size) / 2);font-weight:500;border-radius:var(--default-grid-baseline) var(--default-grid-baseline) 0 0;background-color:var(--color-main-background);padding-inline:var(--default-grid-baseline);margin-inline:calc(var(--input-padding-start) - var(--default-grid-baseline)) calc(var(--input-padding-end) - var(--default-grid-baseline));transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.input-field__icon[data-v-e4fac465]{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);display:flex;align-items:center;justify-content:center;opacity:.7;inset-block-end:0}.input-field__icon--leading[data-v-e4fac465]{inset-inline-start:0px}.input-field__icon--trailing[data-v-e4fac465]{inset-inline-end:0px}.input-field__trailing-button[data-v-e4fac465]{--button-size: calc(var(--default-clickable-area) - 2 * var(--border-width-input-focused, 2px)) !important;--button-radius: calc(var(--input-border-radius) - var(--border-width-input-focused, 2px))}.input-field__trailing-button.button-vue[data-v-e4fac465]{position:absolute;top:var(--border-width-input-focused, 2px);inset-inline-end:var(--border-width-input-focused, 2px)}.input-field__trailing-button.button-vue[data-v-e4fac465]:focus-visible{box-shadow:none!important}.input-field__helper-text-message[data-v-e4fac465]{padding-block:4px;padding-inline:var(--border-radius-large);display:flex;align-items:center;color:var(--color-text-maxcontrast)}.input-field__helper-text-message__icon[data-v-e4fac465]{margin-inline-end:8px}.input-field__helper-text-message--error[data-v-e4fac465]{color:var(--color-error-text)}.input-field__helper-text-message--success[data-v-e4fac465]{color:var(--color-success-text)}")),document.head.appendChild(i)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})(); -var Cr=Object.defineProperty,_r=Object.defineProperties;var Lr=Object.getOwnPropertyDescriptors;var ln=Object.getOwnPropertySymbols;var jr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable;var cn=t=>{throw TypeError(t)};var me=(t,e,n)=>e in t?Cr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,st=(t,e)=>{for(var n in e||(e={}))jr.call(e,n)&&me(t,n,e[n]);if(ln)for(var n of ln(e))Fr.call(e,n)&&me(t,n,e[n]);return t},gt=(t,e)=>_r(t,Lr(e));var j=(t,e,n)=>me(t,typeof e!="symbol"?e+"":e,n),ve=(t,e,n)=>e.has(t)||cn("Cannot "+n);var P=(t,e,n)=>(ve(t,e,"read from private field"),n?n.call(t):e.get(t)),ot=(t,e,n)=>e.has(t)?cn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),M=(t,e,n,r)=>(ve(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),xt=(t,e,n)=>(ve(t,e,"access private method"),n);import{p as Vt,g as Zt,l as Wn,a as Re,b as he,U as Dr,o as kr,c as Mr,d as ct,e as qn,v as Hn,n as Ht,N as Ur,G as Br,r as Gr,C as Vr,t as ye,f as zr,h as Xr,i as Wr,j as qr,k as Hr,m as hn,q as Kr,s as Zr,u as Yr}from"./_plugin-vue2_normalizer-CM8922Se.chunk.mjs";import{u as Kn}from"./useModelMigration-EhAWvqDD-N29HShWK.chunk.mjs";import{A as Jr}from"./ArrowRight-CY2b9hgN-b3v7XbMl.chunk.mjs";var be={},Qr={2:t=>{function e(i,s,u){i instanceof RegExp&&(i=n(i,u)),s instanceof RegExp&&(s=n(s,u));var a=r(i,s,u);return a&&{start:a[0],end:a[1],pre:u.slice(0,a[0]),body:u.slice(a[0]+i.length,a[1]),post:u.slice(a[1]+s.length)}}function n(i,s){var u=s.match(i);return u?u[0]:null}function r(i,s,u){var a,c,o,l,p,h=u.indexOf(i),f=u.indexOf(s,h+1),d=h;if(h>=0&&f>0){for(a=[],o=u.length;d>=0&&!p;)d==h?(a.push(d),h=u.indexOf(i,d+1)):a.length==1?p=[a.pop(),f]:((c=a.pop())=0?h:f;a.length&&(p=[o,l])}return p}t.exports=e,e.range=r},101:function(t,e,n){var r;t=n.nmd(t),function(i){var s=(t&&t.exports,typeof Zt=="object"&&Zt);s.global!==s&&s.window;var u=function(p){this.message=p};(u.prototype=new Error).name="InvalidCharacterError";var a=function(p){throw new u(p)},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=/[\t\n\f\r ]/g,l={encode:function(p){p=String(p),/[^\0-\xFF]/.test(p)&&a("The string to be encoded contains characters outside of the Latin1 range.");for(var h,f,d,g,v=p.length%3,E="",m=-1,y=p.length-v;++m>18&63)+c.charAt(g>>12&63)+c.charAt(g>>6&63)+c.charAt(63&g);return v==2?(h=p.charCodeAt(m)<<8,f=p.charCodeAt(++m),E+=c.charAt((g=h+f)>>10)+c.charAt(g>>4&63)+c.charAt(g<<2&63)+"="):v==1&&(g=p.charCodeAt(m),E+=c.charAt(g>>2)+c.charAt(g<<4&63)+"=="),E},decode:function(p){var h=(p=String(p).replace(o,"")).length;h%4==0&&(h=(p=p.replace(/==?$/,"")).length),(h%4==1||/[^+a-zA-Z0-9/]/.test(p))&&a("Invalid character: the string to be decoded is not correctly encoded.");for(var f,d,g=0,v="",E=-1;++E>(-2*g&6)));return v},version:"1.0.0"};(r=function(){return l}.call(e,n,e,t))===void 0||(t.exports=r)}()},172:(t,e)=>{e.d=function(n){if(!n)return 0;for(var r=(n=n.toString()).length,i=n.length;i--;){var s=n.charCodeAt(i);56320<=s&&s<=57343&&i--,127{var e={utf8:{stringToBytes:function(n){return e.bin.stringToBytes(unescape(encodeURIComponent(n)))},bytesToString:function(n){return decodeURIComponent(escape(e.bin.bytesToString(n)))}},bin:{stringToBytes:function(n){for(var r=[],i=0;i{var e,n;e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(r,i){return r<>>32-i},rotr:function(r,i){return r<<32-i|r>>>i},endian:function(r){if(r.constructor==Number)return 16711935&n.rotl(r,8)|4278255360&n.rotl(r,24);for(var i=0;i0;r--)i.push(Math.floor(256*Math.random()));return i},bytesToWords:function(r){for(var i=[],s=0,u=0;s>>5]|=r[s]<<24-u%32;return i},wordsToBytes:function(r){for(var i=[],s=0;s<32*r.length;s+=8)i.push(r[s>>>5]>>>24-s%32&255);return i},bytesToHex:function(r){for(var i=[],s=0;s>>4).toString(16)),i.push((15&r[s]).toString(16));return i.join("")},hexToBytes:function(r){for(var i=[],s=0;s>>6*(3-a)&63)):i.push("=");return i.join("")},base64ToBytes:function(r){r=r.replace(/[^A-Z0-9+\/]/gi,"");for(var i=[],s=0,u=0;s>>6-2*u);return i}},t.exports=n},635:(t,e,n)=>{const r=n(31),i=n(338),s=n(221);t.exports={XMLParser:i,XMLValidator:r,XMLBuilder:s}},705:(t,e)=>{const n=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+n+"]["+n+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",i=new RegExp("^"+r+"$");e.isExist=function(s){return s!==void 0},e.isEmptyObject=function(s){return Object.keys(s).length===0},e.merge=function(s,u,a){if(u){const c=Object.keys(u),o=c.length;for(let l=0;l{const r=n(705),i={allowBooleanAttributes:!1,unpairedTags:[]};function s(m){return m===" "||m===" "||m==="\n"||m==="\r"}function u(m,y){const w=y;for(;y5&&b==="xml")return d("InvalidXml","XML declaration allowed only at the start of the document.",v(m,y));if(m[y]=="?"&&m[y+1]==">"){y++;break}}return y}function a(m,y){if(m.length>y+5&&m[y+1]==="-"&&m[y+2]==="-"){for(y+=3;y"){y+=2;break}}else if(m.length>y+8&&m[y+1]==="D"&&m[y+2]==="O"&&m[y+3]==="C"&&m[y+4]==="T"&&m[y+5]==="Y"&&m[y+6]==="P"&&m[y+7]==="E"){let w=1;for(y+=8;y"&&(w--,w===0))break}else if(m.length>y+9&&m[y+1]==="["&&m[y+2]==="C"&&m[y+3]==="D"&&m[y+4]==="A"&&m[y+5]==="T"&&m[y+6]==="A"&&m[y+7]==="["){for(y+=8;y"){y+=2;break}}return y}e.validate=function(m,y){y=Object.assign({},i,y);const w=[];let b=!1,A=!1;m[0]==="\uFEFF"&&(m=m.substr(1));for(let N=0;N"&&m[N]!==" "&&m[N]!==" "&&m[N]!=="\n"&&m[N]!=="\r";N++)R+=m[N];if(R=R.trim(),R[R.length-1]==="/"&&(R=R.substring(0,R.length-1),N--),x=R,!r.isName(x)){let S;return S=R.trim().length===0?"Invalid space after '<'.":"Tag '"+R+"' is an invalid name.",d("InvalidTag",S,v(m,N))}const T=l(m,N);if(T===!1)return d("InvalidAttr","Attributes for '"+R+"' have open quote.",v(m,N));let I=T.value;if(N=T.index,I[I.length-1]==="/"){const S=N-I.length;I=I.substring(0,I.length-1);const C=h(I,y);if(C!==!0)return d(C.err.code,C.err.msg,v(m,S+C.err.line));b=!0}else if($){if(!T.tagClosed)return d("InvalidTag","Closing tag '"+R+"' doesn't have proper closing.",v(m,N));if(I.trim().length>0)return d("InvalidTag","Closing tag '"+R+"' can't have attributes or invalid starting.",v(m,O));if(w.length===0)return d("InvalidTag","Closing tag '"+R+"' has not been opened.",v(m,O));{const S=w.pop();if(R!==S.tagName){let C=v(m,S.tagStartPos);return d("InvalidTag","Expected closing tag '"+S.tagName+"' (opened in line "+C.line+", col "+C.col+") instead of closing tag '"+R+"'.",v(m,O))}w.length==0&&(A=!0)}}else{const S=h(I,y);if(S!==!0)return d(S.err.code,S.err.msg,v(m,N-I.length+S.err.line));if(A===!0)return d("InvalidXml","Multiple possible root nodes found.",v(m,N));y.unpairedTags.indexOf(R)!==-1||w.push({tagName:R,tagStartPos:O}),b=!0}for(N++;N0)||d("InvalidXml","Invalid '"+JSON.stringify(w.map(N=>N.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):d("InvalidXml","Start tag expected.",1)};const c='"',o="'";function l(m,y){let w="",b="",A=!1;for(;y"&&b===""){A=!0;break}w+=m[y]}return b===""&&{value:w,index:y,tagClosed:A}}const p=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function h(m,y){const w=r.getAllMatches(m,p),b={};for(let A=0;A{const r=n(87),i={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(o,l){return l},attributeValueProcessor:function(o,l){return l},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function s(o){this.options=Object.assign({},i,o),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=u,this.options.format?(this.indentate=a,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function u(o,l,p){const h=this.j2x(o,p+1);return o[this.options.textNodeName]!==void 0&&Object.keys(o).length===1?this.buildTextValNode(o[this.options.textNodeName],l,h.attrStr,p):this.buildObjectNode(h.val,l,h.attrStr,p)}function a(o){return this.options.indentBy.repeat(o)}function c(o){return!(!o.startsWith(this.options.attributeNamePrefix)||o===this.options.textNodeName)&&o.substr(this.attrPrefixLen)}s.prototype.build=function(o){return this.options.preserveOrder?r(o,this.options):(Array.isArray(o)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(o={[this.options.arrayNodeName]:o}),this.j2x(o,0).val)},s.prototype.j2x=function(o,l){let p="",h="";for(let f in o)if(Object.prototype.hasOwnProperty.call(o,f))if(o[f]===void 0)this.isAttribute(f)&&(h+="");else if(o[f]===null)this.isAttribute(f)?h+="":f[0]==="?"?h+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:h+=this.indentate(l)+"<"+f+"/"+this.tagEndChar;else if(o[f]instanceof Date)h+=this.buildTextValNode(o[f],f,"",l);else if(typeof o[f]!="object"){const d=this.isAttribute(f);if(d)p+=this.buildAttrPairStr(d,""+o[f]);else if(f===this.options.textNodeName){let g=this.options.tagValueProcessor(f,""+o[f]);h+=this.replaceEntitiesValue(g)}else h+=this.buildTextValNode(o[f],f,"",l)}else if(Array.isArray(o[f])){const d=o[f].length;let g="",v="";for(let E=0;E")+this.newLine:this.indentate(h)+"<"+l+p+d+this.tagEndChar+o+this.indentate(h)+f:this.indentate(h)+"<"+l+p+d+">"+o+f}},s.prototype.closeTag=function(o){let l="";return this.options.unpairedTags.indexOf(o)!==-1?this.options.suppressUnpairedNode||(l="/"):l=this.options.suppressEmptyNode?"/":">")+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(h)+"")+this.newLine;if(l[0]==="?")return this.indentate(h)+"<"+l+p+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,o);return f=this.replaceEntitiesValue(f),f===""?this.indentate(h)+"<"+l+p+this.closeTag(l)+this.tagEndChar:this.indentate(h)+"<"+l+p+">"+f+"0&&this.options.processEntities)for(let l=0;l{function e(u,a,c,o){let l="",p=!1;for(let h=0;h"),p=!1;continue}if(d===a.commentPropName){l+=o+""),p=!0;continue}if(d[0]==="?"){const y=r(f[":@"],a),w=d==="?xml"?"":o;let b=f[d][0][a.textNodeName];b=b.length!==0?" "+b:"",l+=w+"<".concat(d).concat(b).concat(y,"?>"),p=!0;continue}let v=o;v!==""&&(v+=a.indentBy);const E=o+"<".concat(d).concat(r(f[":@"],a)),m=e(f[d],a,g,v);a.unpairedTags.indexOf(d)!==-1?a.suppressUnpairedNode?l+=E+">":l+=E+"/>":m&&m.length!==0||!a.suppressEmptyNode?m&&m.endsWith(">")?l+=E+">".concat(m).concat(o,""):(l+=E+">",m&&o!==""&&(m.includes("/>")||m.includes("")):l+=E+"/>",p=!0}return l}function n(u){const a=Object.keys(u);for(let c=0;c0&&a.processEntities)for(let c=0;c0&&(c="\n"),e(u,a,"",c)}},193:(t,e,n)=>{const r=n(705);function i(p,h){let f="";for(;h"){if(v?p[h-1]==="-"&&p[h-2]==="-"&&(v=!1,d--):d--,d===0)break}else p[h]==="["?g=!0:E+=p[h];else{if(g&&u(p,h))h+=7,[entityName,val,h]=i(p,h+1),val.indexOf("&")===-1&&(f[l(entityName)]={regx:RegExp("&".concat(entityName,";"),"g"),val});else if(g&&a(p,h))h+=8;else if(g&&c(p,h))h+=8;else if(g&&o(p,h))h+=9;else{if(!s)throw new Error("Invalid DOCTYPE");v=!0}d++,E=""}if(d!==0)throw new Error("Unclosed DOCTYPE")}return{entities:f,i:h}}},63:(t,e)=>{const n={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,i){return i},attributeValueProcessor:function(r,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(r,i,s){return r}};e.buildOptions=function(r){return Object.assign({},n,r)},e.defaultOptions=n},299:(t,e,n)=>{const r=n(705),i=n(365),s=n(193),u=n(494);function a(b){const A=Object.keys(b);for(let x=0;x0)){R||(b=this.replaceEntitiesValue(b));const T=this.options.tagValueProcessor(A,b,x,O,$);return T==null?b:typeof T!=typeof b||T!==b?T:this.options.trimValues||b.trim()===b?w(b,this.options.parseTagValue,this.options.numberParseOptions):b}}function o(b){if(this.options.removeNSPrefix){const A=b.split(":"),x=b.charAt(0)==="/"?"/":"";if(A[0]==="xmlns")return"";A.length===2&&(b=x+A[1])}return b}const l=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function p(b,A,x){if(!this.options.ignoreAttributes&&typeof b=="string"){const N=r.getAllMatches(b,l),O=N.length,$={};for(let R=0;R",$,"Closing Tag is not closed.");let T=b.substring($+2,R).trim();if(this.options.removeNSPrefix){const C=T.indexOf(":");C!==-1&&(T=T.substr(C+1))}this.options.transformTagName&&(T=this.options.transformTagName(T)),x&&(N=this.saveTextToParentTag(N,x,O));const I=O.substring(O.lastIndexOf(".")+1);if(T&&this.options.unpairedTags.indexOf(T)!==-1)throw new Error("Unpaired tag can not be used as closing tag: "));let S=0;I&&this.options.unpairedTags.indexOf(I)!==-1?(S=O.lastIndexOf(".",O.lastIndexOf(".")-1),this.tagsNodeStack.pop()):S=O.lastIndexOf("."),O=O.substring(0,S),x=this.tagsNodeStack.pop(),N="",$=R}else if(b[$+1]==="?"){let R=m(b,$,!1,"?>");if(!R)throw new Error("Pi Tag is not closed.");if(N=this.saveTextToParentTag(N,x,O),!(this.options.ignoreDeclaration&&R.tagName==="?xml"||this.options.ignorePiTags)){const T=new i(R.tagName);T.add(this.options.textNodeName,""),R.tagName!==R.tagExp&&R.attrExpPresent&&(T[":@"]=this.buildAttributesMap(R.tagExp,O,R.tagName)),this.addChild(x,T,O)}$=R.closeIndex+1}else if(b.substr($+1,3)==="!--"){const R=E(b,"-->",$+4,"Comment is not closed.");if(this.options.commentPropName){const T=b.substring($+4,R-2);N=this.saveTextToParentTag(N,x,O),x.add(this.options.commentPropName,[{[this.options.textNodeName]:T}])}$=R}else if(b.substr($+1,2)==="!D"){const R=s(b,$);this.docTypeEntities=R.entities,$=R.i}else if(b.substr($+1,2)==="!["){const R=E(b,"]]>",$,"CDATA is not closed.")-2,T=b.substring($+9,R);N=this.saveTextToParentTag(N,x,O);let I=this.parseTextData(T,x.tagname,O,!0,!1,!0,!0);I==null&&(I=""),this.options.cdataPropName?x.add(this.options.cdataPropName,[{[this.options.textNodeName]:T}]):x.add(this.options.textNodeName,I),$=R+2}else{let R=m(b,$,this.options.removeNSPrefix),T=R.tagName;const I=R.rawTagName;let S=R.tagExp,C=R.attrExpPresent,dt=R.closeIndex;this.options.transformTagName&&(T=this.options.transformTagName(T)),x&&N&&x.tagname!=="!xml"&&(N=this.saveTextToParentTag(N,x,O,!1));const B=x;if(B&&this.options.unpairedTags.indexOf(B.tagname)!==-1&&(x=this.tagsNodeStack.pop(),O=O.substring(0,O.lastIndexOf("."))),T!==A.tagname&&(O+=O?"."+T:T),this.isItStopNode(this.options.stopNodes,O,T)){let _="";if(S.length>0&&S.lastIndexOf("/")===S.length-1)T[T.length-1]==="/"?(T=T.substr(0,T.length-1),O=O.substr(0,O.length-1),S=T):S=S.substr(0,S.length-1),$=R.closeIndex;else if(this.options.unpairedTags.indexOf(T)!==-1)$=R.closeIndex;else{const Q=this.readStopNodeData(b,I,dt+1);if(!Q)throw new Error("Unexpected end of ".concat(I));$=Q.i,_=Q.tagContent}const at=new i(T);T!==S&&C&&(at[":@"]=this.buildAttributesMap(S,O,T)),_&&(_=this.parseTextData(_,T,O,!0,C,!0,!0)),O=O.substr(0,O.lastIndexOf(".")),at.add(this.options.textNodeName,_),this.addChild(x,at,O)}else{if(S.length>0&&S.lastIndexOf("/")===S.length-1){T[T.length-1]==="/"?(T=T.substr(0,T.length-1),O=O.substr(0,O.length-1),S=T):S=S.substr(0,S.length-1),this.options.transformTagName&&(T=this.options.transformTagName(T));const _=new i(T);T!==S&&C&&(_[":@"]=this.buildAttributesMap(S,O,T)),this.addChild(x,_,O),O=O.substr(0,O.lastIndexOf("."))}else{const _=new i(T);this.tagsNodeStack.push(x),T!==S&&C&&(_[":@"]=this.buildAttributesMap(S,O,T)),this.addChild(x,_,O),x=_}N="",$=dt}}else N+=b[$];return A.child};function f(b,A,x){const N=this.options.updateTag(A.tagname,x,A[":@"]);N===!1||(typeof N=="string"&&(A.tagname=N),b.addChild(A))}const d=function(b){if(this.options.processEntities){for(let A in this.docTypeEntities){const x=this.docTypeEntities[A];b=b.replace(x.regx,x.val)}for(let A in this.lastEntities){const x=this.lastEntities[A];b=b.replace(x.regex,x.val)}if(this.options.htmlEntities)for(let A in this.htmlEntities){const x=this.htmlEntities[A];b=b.replace(x.regex,x.val)}b=b.replace(this.ampEntity.regex,this.ampEntity.val)}return b};function g(b,A,x,N){return b&&(N===void 0&&(N=Object.keys(A.child).length===0),(b=this.parseTextData(b,A.tagname,x,!1,!!A[":@"]&&Object.keys(A[":@"]).length!==0,N))!==void 0&&b!==""&&A.add(this.options.textNodeName,b),b=""),b}function v(b,A,x){const N="*."+x;for(const O in b){const $=b[O];if(N===$||A===$)return!0}return!1}function E(b,A,x,N){const O=b.indexOf(A,x);if(O===-1)throw new Error(N);return O+A.length-1}function m(b,A,x){const N=function(C,dt){let B,_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:">",at="";for(let Q=dt;Q3&&arguments[3]!==void 0?arguments[3]:">");if(!N)return;let O=N.data;const $=N.index,R=O.search(/\s/);let T=O,I=!0;R!==-1&&(T=O.substring(0,R),O=O.substring(R+1).trimStart());const S=T;if(x){const C=T.indexOf(":");C!==-1&&(T=T.substr(C+1),I=T!==N.data.substr(C+1))}return{tagName:T,tagExp:O,closeIndex:$,attrExpPresent:I,rawTagName:S}}function y(b,A,x){const N=x;let O=1;for(;x",x,"".concat(A," is not closed"));if(b.substring(x+2,$).trim()===A&&(O--,O===0))return{tagContent:b.substring(N,x),i:$};x=$}else if(b[x+1]==="?")x=E(b,"?>",x+1,"StopNode is not closed.");else if(b.substr(x+1,3)==="!--")x=E(b,"-->",x+3,"StopNode is not closed.");else if(b.substr(x+1,2)==="![")x=E(b,"]]>",x,"StopNode is not closed.")-2;else{const $=m(b,x,">");$&&(($&&$.tagName)===A&&$.tagExp[$.tagExp.length-1]!=="/"&&O++,x=$.closeIndex)}}function w(b,A,x){if(A&&typeof b=="string"){const N=b.trim();return N==="true"||N!=="false"&&u(b,x)}return r.isExist(b)?b:""}t.exports=class{constructor(b){this.options=b,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(A,x)=>String.fromCharCode(Number.parseInt(x,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(A,x)=>String.fromCharCode(Number.parseInt(x,16))}},this.addExternalEntities=a,this.parseXml=h,this.parseTextData=c,this.resolveNameSpace=o,this.buildAttributesMap=p,this.isItStopNode=v,this.replaceEntitiesValue=d,this.readStopNodeData=y,this.saveTextToParentTag=g,this.addChild=f}}},338:(t,e,n)=>{const{buildOptions:r}=n(63),i=n(299),{prettify:s}=n(728),u=n(31);t.exports=class{constructor(a){this.externalEntities={},this.options=r(a)}parse(a,c){if(typeof a!="string"){if(!a.toString)throw new Error("XML data is accepted in String or Bytes[] form.");a=a.toString()}if(c){c===!0&&(c={});const p=u.validate(a,c);if(p!==!0)throw Error("".concat(p.err.msg,":").concat(p.err.line,":").concat(p.err.col))}const o=new i(this.options);o.addExternalEntities(this.externalEntities);const l=o.parseXml(a);return this.options.preserveOrder||l===void 0?l:s(l,this.options)}addEntity(a,c){if(c.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(a.indexOf("&")!==-1||a.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(c==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[a]=c}}},728:(t,e)=>{function n(u,a,c){let o;const l={};for(let p=0;p0&&(l[a.textNodeName]=o):o!==void 0&&(l[a.textNodeName]=o),l}function r(u){const a=Object.keys(u);for(let c=0;c{t.exports=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}},135:t=>{function e(n){return!!n.constructor&&typeof n.constructor.isBuffer=="function"&&n.constructor.isBuffer(n)}t.exports=function(n){return n!=null&&(e(n)||function(r){return typeof r.readFloatLE=="function"&&typeof r.slice=="function"&&e(r.slice(0,0))}(n)||!!n._isBuffer)}},542:(t,e,n)=>{(function(){var r=n(298),i=n(526).utf8,s=n(135),u=n(526).bin,a=function(c,o){c.constructor==String?c=o&&o.encoding==="binary"?u.stringToBytes(c):i.stringToBytes(c):s(c)?c=Array.prototype.slice.call(c,0):Array.isArray(c)||c.constructor===Uint8Array||(c=c.toString());for(var l=r.bytesToWords(c),p=8*c.length,h=1732584193,f=-271733879,d=-1732584194,g=271733878,v=0;v>>24)|4278255360&(l[v]<<24|l[v]>>>8);l[p>>>5]|=128<>>9<<4)]=p;var E=a._ff,m=a._gg,y=a._hh,w=a._ii;for(v=0;v>>0,f=f+A>>>0,d=d+x>>>0,g=g+N>>>0}return r.endian([h,f,d,g])};a._ff=function(c,o,l,p,h,f,d){var g=c+(o&l|~o&p)+(h>>>0)+d;return(g<>>32-f)+o},a._gg=function(c,o,l,p,h,f,d){var g=c+(o&p|l&~p)+(h>>>0)+d;return(g<>>32-f)+o},a._hh=function(c,o,l,p,h,f,d){var g=c+(o^l^p)+(h>>>0)+d;return(g<>>32-f)+o},a._ii=function(c,o,l,p,h,f,d){var g=c+(l^(o|~p))+(h>>>0)+d;return(g<>>32-f)+o},a._blocksize=16,a._digestsize=16,t.exports=function(c,o){if(c==null)throw new Error("Illegal argument "+c);var l=r.wordsToBytes(a(c,o));return o&&o.asBytes?l:o&&o.asString?u.bytesToString(l):r.bytesToHex(l)}})()},285:(t,e,n)=>{var r=n(2);t.exports=function(E){return E?(E.substr(0,2)==="{}"&&(E="\\{\\}"+E.substr(2)),v(function(m){return m.split("\\\\").join(i).split("\\{").join(s).split("\\}").join(u).split("\\,").join(a).split("\\.").join(c)}(E),!0).map(l)):[]};var i="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",u="\0CLOSE"+Math.random()+"\0",a="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function o(E){return parseInt(E,10)==E?parseInt(E,10):E.charCodeAt(0)}function l(E){return E.split(i).join("\\").split(s).join("{").split(u).join("}").split(a).join(",").split(c).join(".")}function p(E){if(!E)return[""];var m=[],y=r("{","}",E);if(!y)return E.split(",");var w=y.pre,b=y.body,A=y.post,x=w.split(",");x[x.length-1]+="{"+b+"}";var N=p(A);return A.length&&(x[x.length-1]+=N.shift(),x.push.apply(x,N)),m.push.apply(m,x),m}function h(E){return"{"+E+"}"}function f(E){return/^-?0\d/.test(E)}function d(E,m){return E<=m}function g(E,m){return E>=m}function v(E,m){var y=[],w=r("{","}",E);if(!w)return[E];var b=w.pre,A=w.post.length?v(w.post,!1):[""];if(/\$$/.test(w.pre))for(var x=0;x=0;if(!I&&!S)return w.post.match(/,.*\}/)?v(E=w.pre+"{"+w.body+u+w.post):[E];if(I)O=w.body.split(/\.\./);else if((O=p(w.body)).length===1&&(O=v(O[0],!1).map(h)).length===1)return A.map(function(Sr){return w.pre+O[0]+Sr});if(I){var C=o(O[0]),dt=o(O[1]),B=Math.max(O[0].length,O[1].length),_=O.length==3?Math.abs(o(O[2])):1,at=d;dt0){var un=new Array(an+1).join("0");wt=q<0?"-"+un+wt.slice(1):un+wt}}$.push(wt)}}else{$=[];for(var $t=0;$t{function e(o){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},e(o)}function n(o){var l=typeof Map=="function"?new Map:void 0;return n=function(p){if(p===null||(h=p,Function.toString.call(h).indexOf("[native code]")===-1))return p;var h;if(typeof p!="function")throw new TypeError("Super expression must either be null or a function");if(l!==void 0){if(l.has(p))return l.get(p);l.set(p,f)}function f(){return r(p,arguments,s(this).constructor)}return f.prototype=Object.create(p.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}),i(f,p)},n(o)}function r(o,l,p){return r=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(h){return!1}}()?Reflect.construct:function(h,f,d){var g=[null];g.push.apply(g,f);var v=new(Function.bind.apply(h,g));return d&&i(v,d.prototype),v},r.apply(null,arguments)}function i(o,l){return i=Object.setPrototypeOf||function(p,h){return p.__proto__=h,p},i(o,l)}function s(o){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(l){return l.__proto__||Object.getPrototypeOf(l)},s(o)}var u=function(o){function l(p){var h;return function(f,d){if(!(f instanceof d))throw new TypeError("Cannot call a class as a function")}(this,l),(h=function(f,d){return!d||e(d)!=="object"&&typeof d!="function"?function(g){if(g===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}(f):d}(this,s(l).call(this,p))).name="ObjectPrototypeMutationError",h}return function(p,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");p.prototype=Object.create(h&&h.prototype,{constructor:{value:p,writable:!0,configurable:!0}}),h&&i(p,h)}(l,o),l}(n(Error));function a(o,l){for(var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},h=l.split("."),f=h.length,d=function(E){var m=h[E];if(!o)return{v:void 0};if(m==="+"){if(Array.isArray(o))return{v:o.map(function(w,b){var A=h.slice(E+1);return A.length>0?a(w,A.join("."),p):p(o,b,h,E)})};var y=h.slice(0,E).join(".");throw new Error("Object at wildcard (".concat(y,") is not an array"))}o=p(o,m,h,E)},g=0;g2&&arguments[2]!==void 0?arguments[2]:{};if(e(o)!="object"||o===null||l===void 0)return!1;if(typeof l=="number")return l in o;try{var h=!1;return a(o,l,function(f,d,g,v){if(!c(g,v))return f&&f[d];h=p.own?f.hasOwnProperty(d):d in f}),h}catch(f){return!1}},hasOwn:function(o,l,p){return this.has(o,l,p||{own:!0})},isIn:function(o,l,p){var h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(e(o)!="object"||o===null||l===void 0)return!1;try{var f=!1,d=!1;return a(o,l,function(g,v,E,m){return f=f||g===p||!!g&&g[v]===p,d=c(E,m)&&e(g)==="object"&&v in g,g&&g[v]}),h.validPath?f&&d:f}catch(g){return!1}},ObjectPrototypeMutationError:u}},47:(t,e,n)=>{var r=n(410),i=function(o){return typeof o=="string"};function s(o,l){for(var p=[],h=0;h=-1&&!l;p--){var h=p>=0?arguments[p]:Vt.cwd();if(!i(h))throw new TypeError("Arguments to path.resolve must be strings");h&&(o=h+"/"+o,l=h.charAt(0)==="/")}return(l?"/":"")+(o=s(o.split("/"),!l).join("/"))||"."},a.normalize=function(o){var l=a.isAbsolute(o),p=o.substr(-1)==="/";return(o=s(o.split("/"),!l).join("/"))||l||(o="."),o&&p&&(o+="/"),(l?"/":"")+o},a.isAbsolute=function(o){return o.charAt(0)==="/"},a.join=function(){for(var o="",l=0;l=0&&m[w]==="";w--);return y>w?[]:m.slice(y,w+1)}o=a.resolve(o).substr(1),l=a.resolve(l).substr(1);for(var h=p(o.split("/")),f=p(l.split("/")),d=Math.min(h.length,f.length),g=d,v=0;v{var n=Object.prototype.hasOwnProperty;function r(s){try{return decodeURIComponent(s.replace(/\+/g," "))}catch(u){return null}}function i(s){try{return encodeURIComponent(s)}catch(u){return null}}e.stringify=function(s,u){u=u||"";var a,c,o=[];for(c in typeof u!="string"&&(u="?"),s)if(n.call(s,c)){if((a=s[c])||a!=null&&!isNaN(a)||(a=""),c=i(c),a=i(a),c===null||a===null)continue;o.push(c+"="+a)}return o.length?u+o.join("&"):""},e.parse=function(s){for(var u,a=/([^=?#&]+)=?([^&]*)/g,c={};u=a.exec(s);){var o=r(u[1]),l=r(u[2]);o===null||l===null||o in c||(c[o]=l)}return c}},670:t=>{t.exports=function(e,n){if(n=n.split(":")[0],!(e=+e))return!1;switch(n){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}},494:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const r={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(i){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(s=Object.assign({},r,s),!i||typeof i!="string")return i;let u=i.trim();if(s.skipLike!==void 0&&s.skipLike.test(u))return i;if(s.hex&&e.test(u))return Number.parseInt(u,16);{const c=n.exec(u);if(c){const o=c[1],l=c[2];let p=((a=c[3])&&a.indexOf(".")!==-1&&((a=a.replace(/0+$/,""))==="."?a="0":a[0]==="."?a="0"+a:a[a.length-1]==="."&&(a=a.substr(0,a.length-1))),a);const h=c[4]||c[6];if(!s.leadingZeros&&l.length>0&&o&&u[2]!=="."||!s.leadingZeros&&l.length>0&&!o&&u[1]!==".")return i;{const f=Number(u),d=""+f;return d.search(/[eE]/)!==-1||h?s.eNotation?f:i:u.indexOf(".")!==-1?d==="0"&&p===""||d===p||o&&d==="-"+p?f:i:l?p===d||o+p===d?f:i:u===d||u===o+d?f:i}}return i}var a}},737:(t,e,n)=>{var r=n(670),i=n(647),s=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,u=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,o=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,l=/^[a-zA-Z]:/;function p(m){return(m||"").toString().replace(s,"")}var h=[["#","hash"],["?","query"],function(m,y){return g(y.protocol)?m.replace(/\\/g,"/"):m},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],f={hash:1,query:1};function d(m){var y,w=(typeof window<"u"?window:typeof Zt<"u"?Zt:typeof self<"u"?self:{}).location||{},b={},A=typeof(m=m||w);if(m.protocol==="blob:")b=new E(unescape(m.pathname),{});else if(A==="string")for(y in b=new E(m,{}),f)delete b[y];else if(A==="object"){for(y in m)y in f||(b[y]=m[y]);b.slashes===void 0&&(b.slashes=a.test(m.href))}return b}function g(m){return m==="file:"||m==="ftp:"||m==="http:"||m==="https:"||m==="ws:"||m==="wss:"}function v(m,y){m=(m=p(m)).replace(u,""),y=y||{};var w,b=o.exec(m),A=b[1]?b[1].toLowerCase():"",x=!!b[2],N=!!b[3],O=0;return x?N?(w=b[2]+b[3]+b[4],O=b[2].length+b[3].length):(w=b[2]+b[4],O=b[2].length):N?(w=b[3]+b[4],O=b[3].length):w=b[4],A==="file:"?O>=2&&(w=w.slice(2)):g(A)?w=b[4]:A?x&&(w=w.slice(2)):O>=2&&g(y.protocol)&&(w=b[4]),{protocol:A,slashes:x||g(A),slashesCount:O,rest:w}}function E(m,y,w){if(m=(m=p(m)).replace(u,""),!(this instanceof E))return new E(m,y,w);var b,A,x,N,O,$,R=h.slice(),T=typeof y,I=this,S=0;for(T!=="object"&&T!=="string"&&(w=y,y=null),w&&typeof w!="function"&&(w=i.parse),b=!(A=v(m||"",y=d(y))).protocol&&!A.slashes,I.slashes=A.slashes||b&&y.slashes,I.protocol=A.protocol||y.protocol||"",m=A.rest,(A.protocol==="file:"&&(A.slashesCount!==2||l.test(m))||!A.slashes&&(A.protocol||A.slashesCount<2||!g(I.protocol)))&&(R[3]=[/(.*)/,"pathname"]);S{},388:()=>{},805:()=>{},345:()=>{},800:()=>{}},pn={};function L(t){var e=pn[t];if(e!==void 0)return e.exports;var n=pn[t]={id:t,loaded:!1,exports:{}};return Qr[t].call(n.exports,n,n.exports,L),n.loaded=!0,n.exports}L.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return L.d(e,{a:e}),e},L.d=(t,e)=>{for(var n in e)L.o(e,n)&&!L.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},L.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),L.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var ht={};L.d(ht,{hT:()=>nt,O4:()=>Et,Kd:()=>ui,YK:()=>li,UU:()=>gs,Gu:()=>Qn,ky:()=>cr,h4:()=>Kt,ch:()=>pe,hq:()=>Lt,i5:()=>hr});var ti=L(737),ei=L.n(ti);function Ee(t){if(!Se(t))throw new Error("Parameter was not an error")}function Se(t){return!!t&&typeof t=="object"&&(e=t,Object.prototype.toString.call(e)==="[object Error]")||t instanceof Error;var e}class it extends Error{constructor(e,n){const r=[...arguments],{options:i,shortMessage:s}=function(a){let c,o="";if(a.length===0)c={};else if(Se(a[0]))c={cause:a[0]},o=a.slice(1).join(" ")||"";else if(a[0]&&typeof a[0]=="object")c=Object.assign({},a[0]),o=a.slice(1).join(" ")||"";else{if(typeof a[0]!="string")throw new Error("Invalid arguments passed to Layerr");c={},o=o=a.join(" ")||""}return{options:c,shortMessage:o}}(r);let u=s;if(i.cause&&(u="".concat(u,": ").concat(i.cause.message)),super(u),this.message=u,i.name&&typeof i.name=="string"?this.name=i.name:this.name="Layerr",i.cause&&Object.defineProperty(this,"_cause",{value:i.cause}),Object.defineProperty(this,"_info",{value:{}}),i.info&&typeof i.info=="object"&&Object.assign(this._info,i.info),Error.captureStackTrace){const a=i.constructorOpt||this.constructor;Error.captureStackTrace(this,a)}}static cause(e){return Ee(e),e._cause&&Se(e._cause)?e._cause:null}static fullStack(e){var r;Ee(e);const n=it.cause(e);return n?"".concat(e.stack,"\ncaused by: ").concat(it.fullStack(n)):(r=e.stack)!=null?r:""}static info(e){Ee(e);const n={},r=it.cause(e);return r&&Object.assign(n,it.info(r)),e._info&&Object.assign(n,e._info),n}toString(){let e=this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e="".concat(e,": ").concat(this.message)),e}}var ni=L(47),re=L.n(ni);const fn="__PATH_SEPARATOR_POSIX__",dn="__PATH_SEPARATOR_WINDOWS__";function D(t){try{const e=t.replace(/\//g,fn).replace(/\\\\/g,dn);return encodeURIComponent(e).split(dn).join("\\\\").split(fn).join("/")}catch(e){throw new it(e,"Failed encoding path")}}function gn(t){return t.startsWith("/")?t:"/"+t}function Xt(t){let e=t;return e[0]!=="/"&&(e="/"+e),/^.+\/$/.test(e)&&(e=e.substr(0,e.length-1)),e}function ri(t){let e=new(ei())(t).pathname;return e.length<=0&&(e="/"),Xt(e)}function k(){for(var t=arguments.length,e=new Array(t),n=0;n1){var s=r.shift();r[0]=s+r[0]}r[0].match(/^file:\/\/\//)?r[0]=r[0].replace(/^([^/:]+):\/*/,"$1:///"):r[0]=r[0].replace(/^([^/:]+):\/*/,"$1://");for(var u=0;u0&&(a=a.replace(/^[\/]+/,"")),a=u0?"?":"")+o.join("&")}(typeof arguments[0]=="object"?arguments[0]:[].slice.call(arguments))}(e.reduce((r,i,s)=>((s===0||i!=="/"||i==="/"&&r[r.length-1]!=="/")&&r.push(i),r),[]))}var ii=L(542),Dt=L.n(ii);const si="abcdef0123456789";function mn(t,e){const n=t.url.replace("//",""),r=n.indexOf("/")==-1?"/":n.slice(n.indexOf("/")),i=t.method?t.method.toUpperCase():"GET",s=!!/(^|,)\s*auth\s*($|,)/.test(e.qop)&&"auth",u="00000000".concat(e.nc).slice(-8),a=function(h,f,d,g,v,E,m){const y=m||Dt()("".concat(f,":").concat(d,":").concat(g));return h&&h.toLowerCase()==="md5-sess"?Dt()("".concat(y,":").concat(v,":").concat(E)):y}(e.algorithm,e.username,e.realm,e.password,e.nonce,e.cnonce,e.ha1),c=Dt()("".concat(i,":").concat(r)),o=s?Dt()("".concat(a,":").concat(e.nonce,":").concat(u,":").concat(e.cnonce,":").concat(s,":").concat(c)):Dt()("".concat(a,":").concat(e.nonce,":").concat(c)),l={username:e.username,realm:e.realm,nonce:e.nonce,uri:r,qop:s,response:o,nc:u,cnonce:e.cnonce,algorithm:e.algorithm,opaque:e.opaque},p=[];for(const h in l)l[h]&&(h==="qop"||h==="nc"||h==="algorithm"?p.push("".concat(h,"=").concat(l[h])):p.push("".concat(h,'="').concat(l[h],'"')));return"Digest ".concat(p.join(", "))}function Zn(t){return(t.headers&&t.headers.get("www-authenticate")||"").split(/\s/)[0].toLowerCase()==="digest"}var oi=L(101),Yn=L.n(oi);function vn(t){return Yn().decode(t)}function yn(t,e){var n;return"Basic ".concat((n="".concat(t,":").concat(e),Yn().encode(n)))}const ie=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:typeof window<"u"?window:globalThis,ai=ie.fetch.bind(ie),ui=ie.Request,li=ie.Response;let nt=function(t){return t.Auto="auto",t.Digest="digest",t.None="none",t.Password="password",t.Token="token",t}({}),Et=function(t){return t.DataTypeNoLength="data-type-no-length",t.InvalidAuthType="invalid-auth-type",t.InvalidOutputFormat="invalid-output-format",t.LinkUnsupportedAuthType="link-unsupported-auth",t.InvalidUpdateRange="invalid-update-range",t.NotSupported="not-supported",t}({});function Jn(t,e,n,r,i){switch(t.authType){case nt.Auto:e&&n&&(t.headers.Authorization=yn(e,n));break;case nt.Digest:t.digest=function(u,a,c){return{username:u,password:a,ha1:c,nc:0,algorithm:"md5",hasDigestAuth:!1}}(e,n,i);break;case nt.None:break;case nt.Password:t.headers.Authorization=yn(e,n);break;case nt.Token:t.headers.Authorization="".concat((s=r).token_type," ").concat(s.access_token);break;default:throw new it({info:{code:Et.InvalidAuthType}},"Invalid auth type: ".concat(t.authType))}var s}L(345),L(800);const bn="@@HOTPATCHER",ci=()=>{};function we(t){return{original:t,methods:[t],final:!1}}class hi{constructor(){this._configuration={registry:{},getEmptyAction:"null"},this.__type__=bn}get configuration(){return this._configuration}get getEmptyAction(){return this.configuration.getEmptyAction}set getEmptyAction(e){this.configuration.getEmptyAction=e}control(e){let n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!e||e.__type__!==bn)throw new Error("Failed taking control of target HotPatcher instance: Invalid type or object");return Object.keys(e.configuration.registry).forEach(r=>{this.configuration.registry.hasOwnProperty(r)?n&&(this.configuration.registry[r]=Object.assign({},e.configuration.registry[r])):this.configuration.registry[r]=Object.assign({},e.configuration.registry[r])}),e._configuration=this.configuration,this}execute(e){const n=this.get(e)||ci;for(var r=arguments.length,i=new Array(r>1?r-1:0),s=1;s0;)o=[i.shift().apply(l,o)];return o[0]}}(...n.methods)}isPatched(e){return!!this.configuration.registry[e]}patch(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{chain:i=!1}=r;if(this.configuration.registry[e]&&this.configuration.registry[e].final)throw new Error("Failed patching '".concat(e,"': Method marked as being final"));if(typeof n!="function")throw new Error("Failed patching '".concat(e,"': Provided method is not a function"));if(i)this.configuration.registry[e]?this.configuration.registry[e].methods.push(n):this.configuration.registry[e]=we(n);else if(this.isPatched(e)){const{original:s}=this.configuration.registry[e];this.configuration.registry[e]=Object.assign(we(n),{original:s})}else this.configuration.registry[e]=we(n);return this}patchInline(e,n){this.isPatched(e)||this.patch(e,n);for(var r=arguments.length,i=new Array(r>2?r-2:0),s=2;s1?n-1:0),i=1;i{this.patch(e,s,{chain:!0})}),this}restore(e){if(!this.isPatched(e))throw new Error("Failed restoring method: No method present for key: ".concat(e));if(typeof this.configuration.registry[e].original!="function")throw new Error("Failed restoring method: Original method not found or of invalid type for key: ".concat(e));return this.configuration.registry[e].methods=[this.configuration.registry[e].original],this}setFinal(e){if(!this.configuration.registry.hasOwnProperty(e))throw new Error("Failed marking '".concat(e,"' as final: No method found for key"));return this.configuration.registry[e].final=!0,this}}let xe=null;function Qn(){return xe||(xe=new hi),xe}function se(t){return function(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let n=e;for(;Object.getPrototypeOf(n)!==null;)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}(t)?Object.assign({},t):Object.setPrototypeOf(Object.assign({},t),Object.getPrototypeOf(t))}function En(){for(var t=arguments.length,e=new Array(t),n=0;n0;){const s=i.shift();r=r?tr(r,s):se(s)}return r}function tr(t,e){const n=se(t);return Object.keys(e).forEach(r=>{n.hasOwnProperty(r)?Array.isArray(e[r])?n[r]=Array.isArray(n[r])?[...n[r],...e[r]]:[...e[r]]:typeof e[r]=="object"&&e[r]?n[r]=typeof n[r]=="object"&&n[r]?tr(n[r],e[r]):se(e[r]):n[r]=e[r]:n[r]=e[r]}),n}function pi(t){const e={};for(const n of t.keys())e[n]=t.get(n);return e}function Ce(){for(var t=arguments.length,e=new Array(t),n=0;n(Object.keys(s).forEach(u=>{const a=u.toLowerCase();r.hasOwnProperty(a)?i[r[a]]=s[u]:(r[a]=u,i[u]=s[u])}),i),{})}L(805);const fi=typeof ArrayBuffer=="function",{toString:di}=Object.prototype;function er(t){return fi&&(t instanceof ArrayBuffer||di.call(t)==="[object ArrayBuffer]")}function nr(t){return t!=null&&t.constructor!=null&&typeof t.constructor.isBuffer=="function"&&t.constructor.isBuffer(t)}function Ge(t){return function(){for(var e=[],n=0;ne.patchInline("fetch",ai,n.url,function(r){let i={};const s={method:r.method};if(r.headers&&(i=Ce(i,r.headers)),r.data!==void 0){const[u,a]=function(c){if(typeof c=="string")return[c,{}];if(nr(c))return[c,{}];if(er(c))return[c,{}];if(c&&typeof c=="object")return[JSON.stringify(c),{"content-type":"application/json"}];throw new Error("Unable to convert request body: Unexpected body type: "+typeof c)}(r.data);s.body=u,i=Ce(i,a)}return r.signal&&(s.signal=r.signal),r.withCredentials&&(s.credentials="include"),s.headers=i,s}(n)),t)}var mi=L(285);const ae=t=>{if(typeof t!="string")throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")},vi={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},kt=t=>t.replace(/[[\]\\-]/g,"\\$&"),wn=t=>t.join(""),yi=(t,e)=>{const n=e;if(t.charAt(n)!=="[")throw new Error("not in a brace expression");const r=[],i=[];let s=n+1,u=!1,a=!1,c=!1,o=!1,l=n,p="";t:for(;sp?r.push(kt(p)+"-"+kt(g)):g===p&&r.push(kt(g)),p="",s++):t.startsWith("-]",s+1)?(r.push(kt(g+"-")),s+=2):t.startsWith("-",s+1)?(p=g,s+=2):(r.push(kt(g)),s++)}else c=!0,s++}else o=!0,s++}if(l1&&arguments[1]!==void 0?arguments[1]:{};return e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1")},bi=new Set(["!","?","+","*","@"]),xn=t=>bi.has(t),Ne="(?!\\.)",Ei=new Set(["[","."]),wi=new Set(["..","."]),xi=new Set("().*{}+?[]^$\\!"),Ve="[^/]",Nn=Ve+"*?",An=Ve+"+?";var V,H,yt,F,G,Ot,St,It,mt,Ct,qt,_t,ir,Tt,te,Le,sr;const et=class et{constructor(e,n){ot(this,_t);j(this,"type");ot(this,V);ot(this,H);ot(this,yt,!1);ot(this,F,[]);ot(this,G);ot(this,Ot);ot(this,St);ot(this,It,!1);ot(this,mt);ot(this,Ct);ot(this,qt,!1);let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.type=e,e&&M(this,H,!0),M(this,G,n),M(this,V,P(this,G)?P(P(this,G),V):this),M(this,mt,P(this,V)===this?r:P(P(this,V),mt)),M(this,St,P(this,V)===this?[]:P(P(this,V),St)),e!=="!"||P(P(this,V),It)||P(this,St).push(this),M(this,Ot,P(this,G)?P(P(this,G),F).length:0)}get hasMagic(){if(P(this,H)!==void 0)return P(this,H);for(const e of P(this,F))if(typeof e!="string"&&(e.type||e.hasMagic))return M(this,H,!0);return P(this,H)}toString(){return P(this,Ct)!==void 0?P(this,Ct):this.type?M(this,Ct,this.type+"("+P(this,F).map(e=>String(e)).join("|")+")"):M(this,Ct,P(this,F).map(e=>String(e)).join(""))}push(){for(var e=arguments.length,n=new Array(e),r=0;rtypeof r=="string"?r:r.toJSON()):[this.type,...P(this,F).map(r=>r.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===P(this,V)||P(P(this,V),It)&&((n=P(this,G))==null?void 0:n.type)==="!")&&e.push({}),e}isStart(){var n;if(P(this,V)===this)return!0;if(!((n=P(this,G))!=null&&n.isStart()))return!1;if(P(this,Ot)===0)return!0;const e=P(this,G);for(let r=0;r1&&arguments[1]!==void 0?arguments[1]:{};const r=new et(null,void 0,n);return xt(i=et,Tt,te).call(i,e,r,0,n),r}toMMPattern(){if(this!==P(this,V))return P(this,V).toMMPattern();const e=this.toString(),[n,r,i,s]=this.toRegExpSource();if(!(i||P(this,H)||P(this,mt).nocase&&!P(this,mt).nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return r;const u=(P(this,mt).nocase?"i":"")+(s?"u":"");return Object.assign(new RegExp("^".concat(n,"$"),u),{_src:n,_glob:e})}get options(){return P(this,mt)}toRegExpSource(e){var c;const n=e!=null?e:!!P(this,mt).dot;if(P(this,V)===this&&xt(this,_t,ir).call(this),!this.type){const o=this.isStart()&&this.isEnd(),l=P(this,F).map(f=>{var m;const[d,g,v,E]=typeof f=="string"?xt(m=et,Tt,sr).call(m,f,P(this,H),o):f.toRegExpSource(e);return M(this,H,P(this,H)||v),M(this,yt,P(this,yt)||E),d}).join("");let p="";if(this.isStart()&&typeof P(this,F)[0]=="string"&&(P(this,F).length!==1||!wi.has(P(this,F)[0]))){const f=Ei,d=n&&f.has(l.charAt(0))||l.startsWith("\\.")&&f.has(l.charAt(2))||l.startsWith("\\.\\.")&&f.has(l.charAt(4)),g=!n&&!e&&f.has(l.charAt(0));p=d?"(?!(?:^|/)\\.\\.?(?:$|/))":g?Ne:""}let h="";return this.isEnd()&&P(P(this,V),It)&&((c=P(this,G))==null?void 0:c.type)==="!"&&(h="(?:$|\\/)"),[p+l+h,Gt(l),M(this,H,!!P(this,H)),P(this,yt)]}const r=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:";let s=xt(this,_t,Le).call(this,n);if(this.isStart()&&this.isEnd()&&!s&&this.type!=="!"){const o=this.toString();return M(this,F,[o]),this.type=null,M(this,H,void 0),[o,Gt(this.toString()),!1,!1]}let u=!r||e||n?"":xt(this,_t,Le).call(this,!0);u===s&&(u=""),u&&(s="(?:".concat(s,")(?:").concat(u,")*?"));let a="";return a=this.type==="!"&&P(this,qt)?(this.isStart()&&!n?Ne:"")+An:i+s+(this.type==="!"?"))"+(!this.isStart()||n||e?"":Ne)+Nn+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&u?")":this.type==="*"&&u?")?":")".concat(this.type)),[a,Gt(s),M(this,H,!!P(this,H)),P(this,yt)]}};V=new WeakMap,H=new WeakMap,yt=new WeakMap,F=new WeakMap,G=new WeakMap,Ot=new WeakMap,St=new WeakMap,It=new WeakMap,mt=new WeakMap,Ct=new WeakMap,qt=new WeakMap,_t=new WeakSet,ir=function(){if(this!==P(this,V))throw new Error("should only call on root");if(P(this,It))return this;let e;for(this.toString(),M(this,It,!0);e=P(this,St).pop();){if(e.type!=="!")continue;let n=e,r=P(n,G);for(;r;){for(let i=P(n,Ot)+1;!r.type&&i{if(typeof n=="string")throw new Error("string type in extglob ast??");const[r,i,s,u]=n.toRegExpSource(e);return M(this,yt,P(this,yt)||u),r}).filter(n=>!(this.isStart()&&this.isEnd()&&!n)).join("|")},sr=function(e,n){let r=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=!1,s="",u=!1;for(let a=0;a2&&arguments[2]!==void 0?arguments[2]:{};return ae(e),!(!n.nocomment&&e.charAt(0)==="#")&&new le(e,n).match(t)},Ni=/^\*+([^+@!?\*\[\(]*)$/,Ai=t=>e=>!e.startsWith(".")&&e.endsWith(t),Oi=t=>e=>e.endsWith(t),Ii=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),Pi=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),Ti=/^\*+\.\*+$/,$i=t=>!t.startsWith(".")&&t.includes("."),Ri=t=>t!=="."&&t!==".."&&t.includes("."),Si=/^\.\*+$/,Ci=t=>t!=="."&&t!==".."&&t.startsWith("."),_i=/^\*+$/,Li=t=>t.length!==0&&!t.startsWith("."),ji=t=>t.length!==0&&t!=="."&&t!=="..",Fi=/^\?+([^+@!?\*\[\(]*)?$/,Di=t=>{let[e,n=""]=t;const r=or([e]);return n?(n=n.toLowerCase(),i=>r(i)&&i.toLowerCase().endsWith(n)):r},ki=t=>{let[e,n=""]=t;const r=ar([e]);return n?(n=n.toLowerCase(),i=>r(i)&&i.toLowerCase().endsWith(n)):r},Mi=t=>{let[e,n=""]=t;const r=ar([e]);return n?i=>r(i)&&i.endsWith(n):r},Ui=t=>{let[e,n=""]=t;const r=or([e]);return n?i=>r(i)&&i.endsWith(n):r},or=t=>{let[e]=t;const n=e.length;return r=>r.length===n&&!r.startsWith(".")},ar=t=>{let[e]=t;const n=e.length;return r=>r.length===n&&r!=="."&&r!==".."},ur=typeof Vt=="object"&&Vt?typeof be=="object"&&be&&be.__MINIMATCH_TESTING_PLATFORM__||Vt.platform:"posix";J.sep=ur==="win32"?"\\":"/";const lt=Symbol("globstar **");J.GLOBSTAR=lt,J.filter=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return n=>J(n,t,e)};const ut=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.assign({},t,e)};J.defaults=t=>{if(!t||typeof t!="object"||!Object.keys(t).length)return J;const e=J;return Object.assign(function(n,r){return e(n,r,ut(t,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{}))},{Minimatch:class extends e.Minimatch{constructor(n){super(n,ut(t,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}))}static defaults(n){return e.defaults(ut(t,n)).Minimatch}},AST:class extends e.AST{constructor(n,r){super(n,r,ut(t,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{}))}static fromGlob(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.AST.fromGlob(n,ut(t,r))}},unescape:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.unescape(n,ut(t,r))},escape:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.escape(n,ut(t,r))},filter:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.filter(n,ut(t,r))},defaults:n=>e.defaults(ut(t,n)),makeRe:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.makeRe(n,ut(t,r))},braceExpand:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.braceExpand(n,ut(t,r))},match:function(n,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return e.match(n,r,ut(t,i))},sep:e.sep,GLOBSTAR:lt})};const lr=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ae(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:mi(t)};J.braceExpand=lr,J.makeRe=function(t){return new le(t,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).makeRe()},J.match=function(t,e){const n=new le(e,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{});return t=t.filter(r=>n.match(r)),n.options.nonull&&!t.length&&t.push(e),t};const On=/[?*]|[+@!]\(.*?\)|\[|\]/;class le{constructor(e){j(this,"options");j(this,"set");j(this,"pattern");j(this,"windowsPathsNoEscape");j(this,"nonegate");j(this,"negate");j(this,"comment");j(this,"empty");j(this,"preserveMultipleSlashes");j(this,"partial");j(this,"globSet");j(this,"globParts");j(this,"nocase");j(this,"isWindows");j(this,"platform");j(this,"windowsNoMagicRoot");j(this,"regexp");let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};ae(e),n=n||{},this.options=n,this.pattern=e,this.platform=n.platform||ur,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!n.windowsPathsNoEscape||n.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!n.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!n.nonegate,this.comment=!1,this.empty=!1,this.partial=!!n.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=n.windowsNoMagicRoot!==void 0?n.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const e of this.set)for(const n of e)if(typeof n!="string")return!0;return!1}debug(){}make(){const e=this.pattern,n=this.options;if(!n.nocomment&&e.charAt(0)==="#")return void(this.comment=!0);if(!e)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],n.debug&&(this.debug=function(){return console.error(...arguments)}),this.debug(this.pattern,this.globSet);const r=this.globSet.map(s=>this.slashSplit(s));this.globParts=this.preprocess(r),this.debug(this.pattern,this.globParts);let i=this.globParts.map((s,u,a)=>{if(this.isWindows&&this.windowsNoMagicRoot){const c=!(s[0]!==""||s[1]!==""||s[2]!=="?"&&On.test(s[2])||On.test(s[3])),o=/^[a-z]:/i.test(s[0]);if(c)return[...s.slice(0,4),...s.slice(4).map(l=>this.parse(l))];if(o)return[s[0],...s.slice(1).map(l=>this.parse(l))]}return s.map(c=>this.parse(c))});if(this.debug(this.pattern,i),this.set=i.filter(s=>s.indexOf(!1)===-1),this.isWindows)for(let s=0;s=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):e=n>=1?this.levelOneOptimize(e):this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(n=>{let r=-1;for(;(r=n.indexOf("**",r+1))!==-1;){let i=r;for(;n[i+1]==="**";)i++;i!==r&&n.splice(r,i-r)}return n})}levelOneOptimize(e){return e.map(n=>(n=n.reduce((r,i)=>{const s=r[r.length-1];return i==="**"&&s==="**"?r:i===".."&&s&&s!==".."&&s!=="."&&s!=="**"?(r.pop(),r):(r.push(i),r)},[])).length===0?[""]:n)}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let n=!1;do{if(n=!1,!this.preserveMultipleSlashes){for(let i=1;ii&&r.splice(i+1,u-i);let a=r[i+1];const c=r[i+2],o=r[i+3];if(a!==".."||!c||c==="."||c===".."||!o||o==="."||o==="..")continue;n=!0,r.splice(i,1);const l=r.slice(0);l[i]="**",e.push(l),i--}if(!this.preserveMultipleSlashes){for(let u=1;un.length)}partsMatch(e,n){let r=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=0,s=0,u=[],a="";for(;i2&&arguments[2]!==void 0&&arguments[2];const i=this.options;if(this.isWindows){const g=typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0]),v=!g&&e[0]===""&&e[1]===""&&e[2]==="?"&&/^[a-z]:$/i.test(e[3]),E=typeof n[0]=="string"&&/^[a-z]:$/i.test(n[0]),m=v?3:g?0:void 0,y=!E&&n[0]===""&&n[1]===""&&n[2]==="?"&&typeof n[3]=="string"&&/^[a-z]:$/i.test(n[3])?3:E?0:void 0;if(typeof m=="number"&&typeof y=="number"){const[w,b]=[e[m],n[y]];w.toLowerCase()===b.toLowerCase()&&(n[y]=w,y>m?n=n.slice(y):m>y&&(e=e.slice(m)))}}const{optimizationLevel:s=1}=this.options;s>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:n}),this.debug("matchOne",e.length,n.length);for(var u=0,a=0,c=e.length,o=n.length;u>> no match, partial?",e,h,n,f),h!==c))}let g;if(typeof l=="string"?(g=p===l,this.debug("string match",l,p,g)):(g=l.test(p),this.debug("pattern match",l,p,g)),!g)return!1}if(u===c&&a===o)return!0;if(u===c)return r;if(a===o)return u===c-1&&e[u]==="";throw new Error("wtf?")}braceExpand(){return lr(this.pattern,this.options)}parse(e){ae(e);const n=this.options;if(e==="**")return lt;if(e==="")return"";let r,i=null;(r=e.match(_i))?i=n.dot?ji:Li:(r=e.match(Ni))?i=(n.nocase?n.dot?Pi:Ii:n.dot?Oi:Ai)(r[1]):(r=e.match(Fi))?i=(n.nocase?n.dot?ki:Di:n.dot?Mi:Ui)(r):(r=e.match(Ti))?i=n.dot?Ri:$i:(r=e.match(Si))&&(i=Ci);const s=ue.fromGlob(e,this.options).toMMPattern();return i&&typeof s=="object"&&Reflect.defineProperty(s,"test",{value:i}),s}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;const e=this.set;if(!e.length)return this.regexp=!1,this.regexp;const n=this.options,r=n.noglobstar?"[^/]*?":n.dot?"(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?":"(?:(?!(?:\\/|^)\\.).)*?",i=new Set(n.nocase?["i"]:[]);let s=e.map(c=>{const o=c.map(l=>{if(l instanceof RegExp)for(const p of l.flags.split(""))i.add(p);return typeof l=="string"?l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"):l===lt?lt:l._src});return o.forEach((l,p)=>{const h=o[p+1],f=o[p-1];l===lt&&f!==lt&&(f===void 0?h!==void 0&&h!==lt?o[p+1]="(?:\\/|"+r+"\\/)?"+h:o[p]=r:h===void 0?o[p-1]=f+"(?:\\/|"+r+")?":h!==lt&&(o[p-1]=f+"(?:\\/|\\/"+r+"\\/)"+h,o[p+1]=lt))}),o.filter(l=>l!==lt).join("/")}).join("|");const[u,a]=e.length>1?["(?:",")"]:["",""];s="^"+u+s+a+"$",this.negate&&(s="^(?!"+s+").+$");try{this.regexp=new RegExp(s,[...i].join(""))}catch(c){this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.partial;if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&n)return!0;const r=this.options;this.isWindows&&(e=e.split("\\").join("/"));const i=this.slashSplit(e);this.debug(this.pattern,"split",i);const s=this.set;this.debug(this.pattern,"set",s);let u=i[i.length-1];if(!u)for(let a=i.length-2;!u&&a>=0;a--)u=i[a];for(let a=0;a1&&arguments[1]!==void 0?arguments[1]:"","Invalid response: ").concat(t.status," ").concat(t.statusText));return e.status=t.status,e.response=t,e}function W(t,e){const{status:n}=e;if(n===401&&t.digest)return e;if(n>=400)throw ze(e);return e}function Lt(t,e){return arguments.length>2&&arguments[2]!==void 0&&arguments[2]?{data:e,headers:t.headers?pi(t.headers):{},status:t.status,statusText:t.statusText}:e}J.AST=ue,J.Minimatch=le,J.escape=function(t){let{windowsPathsNoEscape:e=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&")},J.unescape=Gt;const Bi=(In=function(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=X({url:k(t.remoteURL,D(e)),method:"COPY",headers:{Destination:k(t.remoteURL,D(n)),Overwrite:r.overwrite===!1?"F":"T",Depth:r.shallow?"0":"infinity"}},t,r);return u=function(a){W(t,a)},(s=z(i,t))&&s.then||(s=Promise.resolve(s)),u?s.then(u):s;var s,u},function(){for(var t=[],e=0;e2&&arguments[2]!==void 0?arguments[2]:jt.Original;const r=vt().get(t,e);return n==="array"&&Array.isArray(r)===!1?[r]:n==="object"&&Array.isArray(r)?r[0]:r}function Kt(t){return new Promise(e=>{e(function(n){const{multistatus:r}=n;if(r==="")return{multistatus:{response:[]}};if(!r)throw new Error("Invalid response: No root multistatus found");const i={multistatus:Array.isArray(r)?r[0]:r};return vt().set(i,"multistatus.response",Yt(i,"multistatus.response",jt.Array)),vt().set(i,"multistatus.response",vt().get(i,"multistatus.response").map(s=>function(u){const a=Object.assign({},u);return a.status?vt().set(a,"status",Yt(a,"status",jt.Object)):(vt().set(a,"propstat",Yt(a,"propstat",jt.Object)),vt().set(a,"propstat.prop",Yt(a,"propstat.prop",jt.Object))),a}(s))),i}(new Xe.XMLParser({removeNSPrefix:!0,numberParseOptions:{hex:!0,leadingZeros:!1}}).parse(t)))})}function pe(t,e){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];const{getlastmodified:r=null,getcontentlength:i="0",resourcetype:s=null,getcontenttype:u=null,getetag:a=null}=t,c=s&&typeof s=="object"&&s.collection!==void 0?"directory":"file",o={filename:e,basename:re().basename(e),lastmod:r,size:parseInt(i,10),type:c,etag:typeof a=="string"?a.replace(/"/g,""):null};return c==="file"&&(o.mime=u&&typeof u=="string"?u.split(";")[0]:""),n&&(t.displayname!==void 0&&(t.displayname=String(t.displayname)),o.props=t),o}function cr(t,e){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=null;try{t.multistatus.response[0].propstat&&(r=t.multistatus.response[0])}catch(l){}if(!r)throw new Error("Failed getting item stat: bad response");const{propstat:{prop:i,status:s}}=r,[u,a,c]=s.split(" ",3),o=parseInt(a,10);if(o>=400){const l=new Error("Invalid response: ".concat(o," ").concat(c));throw l.status=o,l}return pe(i,Xt(e),n)}function hr(t){switch(String(t)){case"-3":return"unlimited";case"-2":case"-1":return"unknown";default:return parseInt(String(t),10)}}function Ae(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const We=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const{details:r=!1}=n,i=X({url:k(t.remoteURL,D(e)),method:"PROPFIND",headers:{Accept:"text/plain,application/xml",Depth:"0"}},t,n);return Ae(z(i,t),function(s){return W(t,s),Ae(s.text(),function(u){return Ae(Kt(u),function(a){const c=cr(a,e,r);return Lt(s,c,r)})})})});function pr(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const Vi=fr(function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=function(s){if(!s||s==="/")return[];let u=s;const a=[];do a.push(u),u=re().dirname(u);while(u&&u!=="/");return a}(Xt(e));r.sort((s,u)=>s.length>u.length?1:u.length>s.length?-1:0);let i=!1;return function(s,u,a){if(typeof s[Tn]=="function"){let g=function(v){try{for(;!(c=p.next()).done;)if((v=u(c.value))&&v.then){if(!$n(v))return void v.then(g,l||(l=rt.bind(null,o=new Ft,2)));v=v.v}o?rt(o,1,v):o=v}catch(E){rt(o||(o=new Ft),2,E)}};var c,o,l,p=s[Tn]();if(g(),p.return){var h=function(v){try{c.done||p.return()}catch(E){}return v};if(o&&o.then)return o.then(h,function(v){throw h(v)});h()}return o}if(!("length"in s))throw new TypeError("Object is not iterable");for(var f=[],d=0;d2&&arguments[2]!==void 0?arguments[2]:{};if(n.recursive===!0)return Vi(t,e,n);const r=X({url:k(t.remoteURL,(i=D(e),i.endsWith("/")?i:i+"/")),method:"MKCOL"},t,n);var i;return pr(z(r,t),function(s){W(t,s)})});var Xi=L(388),Rn=L.n(Xi);const Wi=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r={};if(typeof n.range=="object"&&typeof n.range.start=="number"){let a="bytes=".concat(n.range.start,"-");typeof n.range.end=="number"&&(a="".concat(a).concat(n.range.end)),r.Range=a}const i=X({url:k(t.remoteURL,D(e)),method:"GET",headers:r},t,n);return u=function(a){if(W(t,a),r.Range&&a.status!==206){const c=new Error("Invalid response code for partial request: ".concat(a.status));throw c.status=a.status,c}return n.callback&&setTimeout(()=>{n.callback(a)},0),a.body},(s=z(i,t))&&s.then||(s=Promise.resolve(s)),u?s.then(u):s;var s,u}),qi=()=>{},Hi=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e)),method:"DELETE"},t,n);return s=function(u){W(t,u)},(i=z(r,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s}),Zi=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};return function(r,i){try{var s=(u=We(t,e,n),a=function(){return!0},c?a?a(u):u:(u&&u.then||(u=Promise.resolve(u)),a?u.then(a):u))}catch(o){return i(o)}var u,a,c;return s&&s.then?s.then(void 0,i):s}(0,function(r){if(r.status===404)return!1;throw r})});function Oe(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const Yi=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e),"/"),method:"PROPFIND",headers:{Accept:"text/plain,application/xml",Depth:n.deep?"infinity":"1"}},t,n);return Oe(z(r,t),function(i){return W(t,i),Oe(i.text(),function(s){if(!s)throw new Error("Failed parsing directory contents: Empty response");return Oe(Kt(s),function(u){const a=gn(e);let c=function(o,l,p){let h=arguments.length>3&&arguments[3]!==void 0&&arguments[3],f=arguments.length>4&&arguments[4]!==void 0&&arguments[4];const d=re().join(l,"/"),{multistatus:{response:g}}=o,v=g.map(E=>{const m=function(w){try{return w.replace(/^https?:\/\/[^\/]+/,"")}catch(b){throw new it(b,"Failed normalising HREF")}}(E.href),{propstat:{prop:y}}=E;return pe(y,d==="/"?decodeURIComponent(Xt(m)):Xt(re().relative(decodeURIComponent(d),decodeURIComponent(m))),h)});return f?v:v.filter(E=>E.basename&&(E.type==="file"||E.filename!==p.replace(/\/$/,"")))}(u,gn(t.remoteBasePath||t.remotePath),a,n.details,n.includeSelf);return n.glob&&(c=function(o,l){return o.filter(p=>J(p.filename,l,{matchBase:!0}))}(c,n.glob)),Lt(i,c,n.details)})})})});function qe(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e)),method:"GET",headers:{Accept:"text/plain"},transformResponse:[es]},t,n);return ce(z(r,t),function(i){return W(t,i),ce(i.text(),function(s){return Lt(i,s,n.details)})})});function ce(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const Qi=qe(function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e)),method:"GET"},t,n);return ce(z(r,t),function(i){let s;return W(t,i),function(u,a){var c=u();return c&&c.then?c.then(a):a()}(function(){return ce(i.arrayBuffer(),function(u){s=u})},function(){return Lt(i,s,n.details)})})}),ts=qe(function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{format:r="binary"}=n;if(r!=="binary"&&r!=="text")throw new it({info:{code:Et.InvalidOutputFormat}},"Invalid output format: ".concat(r));return r==="text"?Ji(t,e,n):Qi(t,e,n)}),es=t=>t;function ns(t){return new Xe.XMLBuilder({attributeNamePrefix:"@_",format:!0,ignoreAttributes:!1,suppressEmptyNode:!0}).build(dr({lockinfo:{"@_xmlns:d":"DAV:",lockscope:{exclusive:{}},locktype:{write:{}},owner:{href:t}}},"d"))}function dr(t,e){const n=st({},t);for(const r in n)n.hasOwnProperty(r)&&(n[r]&&typeof n[r]=="object"&&r.indexOf(":")===-1?(n["".concat(e,":").concat(r)]=dr(n[r],e),delete n[r]):/^@_/.test(r)===!1&&(n["".concat(e,":").concat(r)]=n[r],delete n[r]));return n}function Fe(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}function gr(t){return function(){for(var e=[],n=0;n3&&arguments[3]!==void 0?arguments[3]:{};const i=X({url:k(t.remoteURL,D(e)),method:"UNLOCK",headers:{"Lock-Token":n}},t,r);return Fe(z(i,t),function(s){if(W(t,s),s.status!==204&&s.status!==200)throw ze(s)})}),is=gr(function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{refreshToken:r,timeout:i=ss}=n,s={Accept:"text/plain,application/xml",Timeout:i};r&&(s.If=r);const u=X({url:k(t.remoteURL,D(e)),method:"LOCK",headers:s,data:ns(t.contactHref)},t,n);return Fe(z(u,t),function(a){return W(t,a),Fe(a.text(),function(c){const o=(h=c,new Xe.XMLParser({removeNSPrefix:!0,parseAttributeValue:!0,parseTagValue:!0}).parse(h)),l=vt().get(o,"prop.lockdiscovery.activelock.locktoken.href"),p=vt().get(o,"prop.lockdiscovery.activelock.timeout");var h;if(!l)throw ze(a,"No lock token received: ");return{token:l,serverTimeout:p}})})}),ss="Infinite, Second-4100000000";function Ie(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const os=function(t){return function(){for(var e=[],n=0;n1&&arguments[1]!==void 0?arguments[1]:{};const n=e.path||"/",r=X({url:k(t.remoteURL,n),method:"PROPFIND",headers:{Accept:"text/plain,application/xml",Depth:"0"}},t,e);return Ie(z(r,t),function(i){return W(t,i),Ie(i.text(),function(s){return Ie(Kt(s),function(u){const a=function(c){try{const[o]=c.multistatus.response,{propstat:{prop:{"quota-used-bytes":l,"quota-available-bytes":p}}}=o;return l!==void 0&&p!==void 0?{used:parseInt(String(l),10),available:hr(p)}:null}catch(o){}return null}(u);return Lt(i,a,e.details)})})})});function Pe(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const as=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const{details:r=!1}=n,i=X({url:k(t.remoteURL,D(e)),method:"SEARCH",headers:{Accept:"text/plain,application/xml","Content-Type":t.headers["Content-Type"]||"application/xml; charset=utf-8"}},t,n);return Pe(z(i,t),function(s){return W(t,s),Pe(s.text(),function(u){return Pe(Kt(u),function(a){const c=function(o,l,p){const h={truncated:!1,results:[]};return h.truncated=o.multistatus.response.some(f=>{var d,g;return((g=(f.status||((d=f.propstat)==null?void 0:d.status)).split(" ",3))==null?void 0:g[1])==="507"&&f.href.replace(/\/$/,"").endsWith(D(l).replace(/\/$/,""))}),o.multistatus.response.forEach(f=>{if(f.propstat===void 0)return;const d=f.href.split("/").map(decodeURIComponent).join("/");h.results.push(pe(f.propstat.prop,d,p))}),h}(a,e,r);return Lt(s,c,r)})})})}),us=function(t){return function(){for(var e=[],n=0;n3&&arguments[3]!==void 0?arguments[3]:{};const i=X({url:k(t.remoteURL,D(e)),method:"MOVE",headers:{Destination:k(t.remoteURL,D(n)),Overwrite:r.overwrite===!1?"F":"T"}},t,r);return u=function(a){W(t,a)},(s=z(i,t))&&s.then||(s=Promise.resolve(s)),u?s.then(u):s;var s,u});var ls=L(172);const cs=function(t){return function(){for(var e=[],n=0;n3&&arguments[3]!==void 0?arguments[3]:{};const{contentLength:i=!0,overwrite:s=!0}=r,u={"Content-Type":"application/octet-stream"};i===!1||(u["Content-Length"]=typeof i=="number"?"".concat(i):"".concat(function(l){if(er(l))return l.byteLength;if(nr(l))return l.length;if(typeof l=="string")return(0,ls.d)(l);throw new it({info:{code:Et.DataTypeNoLength}},"Cannot calculate data length: Invalid type")}(n))),s||(u["If-None-Match"]="*");const a=X({url:k(t.remoteURL,D(e)),method:"PUT",headers:u,data:n},t,r);return o=function(l){try{W(t,l)}catch(p){const h=p;if(h.status!==412||s)throw h;return!1}return!0},(c=z(a,t))&&c.then||(c=Promise.resolve(c)),o?c.then(o):c;var c,o}),mr=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e)),method:"OPTIONS"},t,n);return s=function(u){var a,c;try{W(t,u)}catch(o){throw o}return{compliance:((a=u.headers.get("DAV"))!=null?a:"").split(",").map(o=>o.trim()),server:(c=u.headers.get("Server"))!=null?c:""}},(i=z(r,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s});function zt(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const hs=He(function(t,e,n,r,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(n>r||n<0)throw new it({info:{code:Et.InvalidUpdateRange}},"Invalid update range ".concat(n," for partial update"));const u={"Content-Type":"application/octet-stream","Content-Length":""+(r-n+1),"Content-Range":"bytes ".concat(n,"-").concat(r,"/*")},a=X({url:k(t.remoteURL,D(e)),method:"PUT",headers:u,data:i},t,s);return zt(z(a,t),function(c){W(t,c)})});function Sn(t,e){var n=t();return n&&n.then?n.then(e):e(n)}const ps=He(function(t,e,n,r,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(n>r||n<0)throw new it({info:{code:Et.InvalidUpdateRange}},"Invalid update range ".concat(n," for partial update"));const u={"Content-Type":"application/x-sabredav-partialupdate","Content-Length":""+(r-n+1),"X-Update-Range":"bytes=".concat(n,"-").concat(r)},a=X({url:k(t.remoteURL,D(e)),method:"PATCH",headers:u,data:i},t,s);return zt(z(a,t),function(c){W(t,c)})});function He(t){return function(){for(var e=[],n=0;n5&&arguments[5]!==void 0?arguments[5]:{};return zt(mr(t,e,s),function(u){let a=!1;return Sn(function(){if(u.compliance.includes("sabredav-partialupdate"))return zt(ps(t,e,n,r,i,s),function(c){return a=!0,c})},function(c){let o=!1;return a?c:Sn(function(){if(u.server.includes("Apache")&&u.compliance.includes(""))return zt(hs(t,e,n,r,i,s),function(l){return o=!0,l})},function(l){if(o)return l;throw new it({info:{code:Et.NotSupported}},"Not supported")})})})}),ds="https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md";function gs(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{authType:n=null,remoteBasePath:r,contactHref:i=ds,ha1:s,headers:u={},httpAgent:a,httpsAgent:c,password:o,token:l,username:p,withCredentials:h}=e;let f=n;f||(f=p||o?nt.Password:nt.None);const d={authType:f,remoteBasePath:r,contactHref:i,ha1:s,headers:Object.assign({},u),httpAgent:a,httpsAgent:c,password:o,remotePath:ri(t),remoteURL:t,token:l,username:p,withCredentials:h};return Jn(d,p,o,l,s),{copyFile:(g,v,E)=>Bi(d,g,v,E),createDirectory:(g,v)=>je(d,g,v),createReadStream:(g,v)=>function(E,m){let y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const w=new(Rn()).PassThrough;return Wi(E,m,y).then(b=>{b.pipe(w)}).catch(b=>{w.emit("error",b)}),w}(d,g,v),createWriteStream:(g,v,E)=>function(m,y){let w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:qi;const A=new(Rn()).PassThrough,x={};w.overwrite===!1&&(x["If-None-Match"]="*");const N=X({url:k(m.remoteURL,D(y)),method:"PUT",headers:x,data:A,maxRedirects:0},m,w);return z(N,m).then(O=>W(m,O)).then(O=>{setTimeout(()=>{b(O)},0)}).catch(O=>{A.emit("error",O)}),A}(d,g,v,E),customRequest:(g,v)=>Hi(d,g,v),deleteFile:(g,v)=>Ki(d,g,v),exists:(g,v)=>Zi(d,g,v),getDirectoryContents:(g,v)=>Yi(d,g,v),getFileContents:(g,v)=>ts(d,g,v),getFileDownloadLink:g=>function(v,E){let m=k(v.remoteURL,D(E));const y=/^https:/i.test(m)?"https":"http";switch(v.authType){case nt.None:break;case nt.Password:{const w=vn(v.headers.Authorization.replace(/^Basic /i,"").trim());m=m.replace(/^https?:\/\//,"".concat(y,"://").concat(w,"@"));break}default:throw new it({info:{code:Et.LinkUnsupportedAuthType}},"Unsupported auth type for file link: ".concat(v.authType))}return m}(d,g),getFileUploadLink:g=>function(v,E){let m="".concat(k(v.remoteURL,D(E)),"?Content-Type=application/octet-stream");const y=/^https:/i.test(m)?"https":"http";switch(v.authType){case nt.None:break;case nt.Password:{const w=vn(v.headers.Authorization.replace(/^Basic /i,"").trim());m=m.replace(/^https?:\/\//,"".concat(y,"://").concat(w,"@"));break}default:throw new it({info:{code:Et.LinkUnsupportedAuthType}},"Unsupported auth type for file link: ".concat(v.authType))}return m}(d,g),getHeaders:()=>Object.assign({},d.headers),getQuota:g=>os(d,g),lock:(g,v)=>is(d,g,v),moveFile:(g,v,E)=>us(d,g,v,E),putFileContents:(g,v,E)=>cs(d,g,v,E),partialUpdateFileContents:(g,v,E,m,y)=>fs(d,g,v,E,m,y),getDAVCompliance:g=>mr(d,g),search:(g,v)=>as(d,g,v),setHeaders:g=>{d.headers=Object.assign({},g)},stat:(g,v)=>We(d,g,v),unlock:(g,v,E)=>rs(d,g,v,E)}}ht.hT,ht.O4,ht.Kd,ht.YK;var ms=ht.UU,vs=ht.Gu,ys=ht.ky,bs=ht.h4;ht.ch,ht.hq,ht.i5;var Ke={},fe={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(a,c){const o=[];let l=c.exec(a);for(;l;){const p=[];p.startIndex=c.lastIndex-l[0].length;const h=l.length;for(let f=0;f"u")};t.isExist=function(a){return typeof a<"u"},t.isEmptyObject=function(a){return Object.keys(a).length===0},t.merge=function(a,c,o){if(c){const l=Object.keys(c),p=l.length;for(let h=0;h"&&t[s]!==" "&&t[s]!==" "&&t[s]!=="\n"&&t[s]!=="\r";s++)c+=t[s];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),s--),!Ts(c)){let p;return c.trim().length===0?p="Invalid space after '<'.":p="Tag '"+c+"' is an invalid name.",U("InvalidTag",p,tt(t,s))}const o=Ns(t,s);if(o===!1)return U("InvalidAttr","Attributes for '"+c+"' have open quote.",tt(t,s));let l=o.value;if(s=o.index,l[l.length-1]==="/"){const p=s-l.length;l=l.substring(0,l.length-1);const h=jn(l,e);if(h===!0)r=!0;else return U(h.err.code,h.err.msg,tt(t,p+h.err.line))}else if(a)if(o.tagClosed){if(l.trim().length>0)return U("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",tt(t,u));if(n.length===0)return U("InvalidTag","Closing tag '"+c+"' has not been opened.",tt(t,u));{const p=n.pop();if(c!==p.tagName){let h=tt(t,p.tagStartPos);return U("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+h.line+", col "+h.col+") instead of closing tag '"+c+"'.",tt(t,u))}n.length==0&&(i=!0)}}else return U("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",tt(t,s));else{const p=jn(l,e);if(p!==!0)return U(p.err.code,p.err.msg,tt(t,s-l.length+p.err.line));if(i===!0)return U("InvalidXml","Multiple possible root nodes found.",tt(t,s));e.unpairedTags.indexOf(c)!==-1||n.push({tagName:c,tagStartPos:u}),r=!0}for(s++;s0)return U("InvalidXml","Invalid '"+JSON.stringify(n.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return U("InvalidXml","Start tag expected.",1);return!0};function Cn(t){return t===" "||t===" "||t==="\n"||t==="\r"}function _n(t,e){const n=e;for(;e5&&r==="xml")return U("InvalidXml","XML declaration allowed only at the start of the document.",tt(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Ln(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let n=1;for(e+=8;e"&&(n--,n===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e"){e+=2;break}}return e}const ws='"',xs="'";function Ns(t,e){let n="",r="",i=!1;for(;e"&&r===""){i=!0;break}n+=t[e]}return r!==""?!1:{value:n,index:e,tagClosed:i}}const As=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function jn(t,e){const n=Ze.getAllMatches(t,As),r={};for(let i=0;i!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}},$s=function(t){return Object.assign({},vr,t)};De.buildOptions=$s,De.defaultOptions=vr;class Rs{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}var Ss=Rs;const Cs=fe;function _s(t,e){const n={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let r=1,i=!1,s=!1,u="";for(;e"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,r--):r--,r===0)break}else t[e]==="["?i=!0:u+=t[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:e}}function Ls(t,e){let n="";for(;e0&&i&&n[2]!=="."||!e.leadingZeros&&s.length>0&&!i&&n[1]!==".")return t;{const c=Number(n),o=""+c;return o.search(/[eE]/)!==-1||a?e.eNotation?c:t:n.indexOf(".")!==-1?o==="0"&&u===""||o===u||i&&o==="-"+u?c:t:s?u===o||i+u===o?c:t:n===o||n===i+o?c:t}}else return t}}function Ws(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}var qs=Xs;function Hs(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(const n of t)if(typeof n=="string"&&e===n||n instanceof RegExp&&n.test(e))return!0}:()=>!1}var yr=Hs;const br=fe,Ut=Ss,Ks=Bs,Zs=qs,Ys=yr;let Js=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,n)=>String.fromCharCode(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,n)=>String.fromCharCode(Number.parseInt(n,16))}},this.addExternalEntities=Qs,this.parseXml=io,this.parseTextData=to,this.resolveNameSpace=eo,this.buildAttributesMap=ro,this.isItStopNode=uo,this.replaceEntitiesValue=oo,this.readStopNodeData=co,this.saveTextToParentTag=ao,this.addChild=so,this.ignoreAttributesFn=Ys(this.options.ignoreAttributes)}};function Qs(t){const e=Object.keys(t);for(let n=0;n0)){u||(t=this.replaceEntitiesValue(t));const a=this.options.tagValueProcessor(e,t,n,i,s);return a==null?t:typeof a!=typeof t||a!==t?a:this.options.trimValues?Me(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Me(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function eo(t){if(this.options.removeNSPrefix){const e=t.split(":"),n=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=n+e[1])}return t}const no=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function ro(t,e,n){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){const r=br.getAllMatches(t,no),i=r.length,s={};for(let u=0;u",s,"Closing Tag is not closed.");let a=t.substring(s+2,u).trim();if(this.options.removeNSPrefix){const l=a.indexOf(":");l!==-1&&(a=a.substr(l+1))}this.options.transformTagName&&(a=this.options.transformTagName(a)),n&&(r=this.saveTextToParentTag(r,n,i));const c=i.substring(i.lastIndexOf(".")+1);if(a&&this.options.unpairedTags.indexOf(a)!==-1)throw new Error("Unpaired tag can not be used as closing tag: "));let o=0;c&&this.options.unpairedTags.indexOf(c)!==-1?(o=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):o=i.lastIndexOf("."),i=i.substring(0,o),n=this.tagsNodeStack.pop(),r="",s=u}else if(t[s+1]==="?"){let u=ke(t,s,!1,"?>");if(!u)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,n,i),!(this.options.ignoreDeclaration&&u.tagName==="?xml"||this.options.ignorePiTags)){const a=new Ut(u.tagName);a.add(this.options.textNodeName,""),u.tagName!==u.tagExp&&u.attrExpPresent&&(a[":@"]=this.buildAttributesMap(u.tagExp,i,u.tagName)),this.addChild(n,a,i)}s=u.closeIndex+1}else if(t.substr(s+1,3)==="!--"){const u=Rt(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){const a=t.substring(s+4,u-2);r=this.saveTextToParentTag(r,n,i),n.add(this.options.commentPropName,[{[this.options.textNodeName]:a}])}s=u}else if(t.substr(s+1,2)==="!D"){const u=Ks(t,s);this.docTypeEntities=u.entities,s=u.i}else if(t.substr(s+1,2)==="!["){const u=Rt(t,"]]>",s,"CDATA is not closed.")-2,a=t.substring(s+9,u);r=this.saveTextToParentTag(r,n,i);let c=this.parseTextData(a,n.tagname,i,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:a}]):n.add(this.options.textNodeName,c),s=u+2}else{let u=ke(t,s,this.options.removeNSPrefix),a=u.tagName;const c=u.rawTagName;let o=u.tagExp,l=u.attrExpPresent,p=u.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),n&&r&&n.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,n,i,!1));const h=n;if(h&&this.options.unpairedTags.indexOf(h.tagname)!==-1&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),a!==e.tagname&&(i+=i?"."+a:a),this.isItStopNode(this.options.stopNodes,i,a)){let f="";if(o.length>0&&o.lastIndexOf("/")===o.length-1)a[a.length-1]==="/"?(a=a.substr(0,a.length-1),i=i.substr(0,i.length-1),o=a):o=o.substr(0,o.length-1),s=u.closeIndex;else if(this.options.unpairedTags.indexOf(a)!==-1)s=u.closeIndex;else{const g=this.readStopNodeData(t,c,p+1);if(!g)throw new Error("Unexpected end of ".concat(c));s=g.i,f=g.tagContent}const d=new Ut(a);a!==o&&l&&(d[":@"]=this.buildAttributesMap(o,i,a)),f&&(f=this.parseTextData(f,a,i,!0,l,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),d.add(this.options.textNodeName,f),this.addChild(n,d,i)}else{if(o.length>0&&o.lastIndexOf("/")===o.length-1){a[a.length-1]==="/"?(a=a.substr(0,a.length-1),i=i.substr(0,i.length-1),o=a):o=o.substr(0,o.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const f=new Ut(a);a!==o&&l&&(f[":@"]=this.buildAttributesMap(o,i,a)),this.addChild(n,f,i),i=i.substr(0,i.lastIndexOf("."))}else{const f=new Ut(a);this.tagsNodeStack.push(n),a!==o&&l&&(f[":@"]=this.buildAttributesMap(o,i,a)),this.addChild(n,f,i),n=f}r="",s=p}}else r+=t[s];return e.child};function so(t,e,n){const r=this.options.updateTag(e.tagname,n,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),t.addChild(e))}const oo=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function ao(t,e,n,r){return t&&(r===void 0&&(r=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,n,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function uo(t,e,n){const r="*."+n;for(const i in t){const s=t[i];if(r===s||e===s)return!0}return!1}function lo(t,e,n=">"){let r,i="";for(let s=e;s",n,"".concat(e," is not closed"));if(t.substring(n+2,s).trim()===e&&(i--,i===0))return{tagContent:t.substring(r,n),i:s};n=s}else if(t[n+1]==="?")n=Rt(t,"?>",n+1,"StopNode is not closed.");else if(t.substr(n+1,3)==="!--")n=Rt(t,"-->",n+3,"StopNode is not closed.");else if(t.substr(n+1,2)==="![")n=Rt(t,"]]>",n,"StopNode is not closed.")-2;else{const s=ke(t,n,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&i++,n=s.closeIndex)}}function Me(t,e,n){if(e&&typeof t=="string"){const r=t.trim();return r==="true"?!0:r==="false"?!1:Zs(t,n)}else return br.isExist(t)?t:""}var ho=Js,Er={};function po(t,e){return wr(t,e)}function wr(t,e,n){let r;const i={};for(let s=0;s0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function fo(t){const e=Object.keys(t);for(let n=0;n0&&(n=No),xr(t,e,"",n)}function xr(t,e,n,r){let i="",s=!1;for(let u=0;u"),s=!1;continue}else if(c===e.commentPropName){i+=r+""),s=!0;continue}else if(c[0]==="?"){const d=Fn(a[":@"],e),g=c==="?xml"?"":r;let v=a[c][0][e.textNodeName];v=v.length!==0?" "+v:"",i+=g+"<".concat(c).concat(v).concat(d,"?>"),s=!0;continue}let l=r;l!==""&&(l+=e.indentBy);const p=Fn(a[":@"],e),h=r+"<".concat(c).concat(p),f=xr(a[c],e,o,l);e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?i+=h+">":i+=h+"/>":(!f||f.length===0)&&e.suppressEmptyNode?i+=h+"/>":f&&f.endsWith(">")?i+=h+">".concat(f).concat(r,""):(i+=h+">",f&&r!==""&&(f.includes("/>")||f.includes("")),s=!0}return i}function Oo(t){const e=Object.keys(t);for(let n=0;n0&&e.processEntities)for(let n=0;n","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Pt(t){this.options=Object.assign({},Ro,t),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=$o(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=_o),this.processTextOrObjNode=So,this.options.format?(this.indentate=Co,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Pt.prototype.build=function(t){return this.options.preserveOrder?To(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)},Pt.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let u in t)if(Object.prototype.hasOwnProperty.call(t,u))if(typeof t[u]>"u")this.isAttribute(u)&&(i+="");else if(t[u]===null)this.isAttribute(u)?i+="":u[0]==="?"?i+=this.indentate(e)+"<"+u+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+u+"/"+this.tagEndChar;else if(t[u]instanceof Date)i+=this.buildTextValNode(t[u],u,"",e);else if(typeof t[u]!="object"){const a=this.isAttribute(u);if(a&&!this.ignoreAttributesFn(a,s))r+=this.buildAttrPairStr(a,""+t[u]);else if(!a)if(u===this.options.textNodeName){let c=this.options.tagValueProcessor(u,""+t[u]);i+=this.replaceEntitiesValue(c)}else i+=this.buildTextValNode(t[u],u,"",e)}else if(Array.isArray(t[u])){const a=t[u].length;let c="",o="";for(let l=0;l"u"))if(p===null)u[0]==="?"?i+=this.indentate(e)+"<"+u+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+u+"/"+this.tagEndChar;else if(typeof p=="object")if(this.options.oneListGroup){const h=this.j2x(p,e+1,n.concat(u));c+=h.val,this.options.attributesGroupName&&p.hasOwnProperty(this.options.attributesGroupName)&&(o+=h.attrStr)}else c+=this.processTextOrObjNode(p,u,e,n);else if(this.options.oneListGroup){let h=this.options.tagValueProcessor(u,p);h=this.replaceEntitiesValue(h),c+=h}else c+=this.buildTextValNode(p,u,"",e)}this.options.oneListGroup&&(c=this.buildObjectNode(c,u,o,e)),i+=c}else if(this.options.attributesGroupName&&u===this.options.attributesGroupName){const a=Object.keys(t[u]),c=a.length;for(let o=0;o"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+"")+this.newLine:this.indentate(r)+"<"+e+n+s+this.tagEndChar+t+this.indentate(r)+i}},Pt.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=">")+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+"")+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"0&&this.options.processEntities)for(let e=0;e{},internals:r=Je(),promise:i=new Promise((s,u)=>n(s,u,a=>{r.onCancelList.push(a)}))}=e;Dn(this,Y,{writable:!0,value:void 0}),Dn(this,Bt,{writable:!0,value:void 0}),Nt(this,Vo,"CancelablePromise"),this.cancel=this.cancel.bind(this),kn(this,Y,r),kn(this,Bt,i||new Promise((s,u)=>n(s,u,a=>{r.onCancelList.push(a)})))}then(e,n){return ee(Z(this,Bt).then(Jt(e,Z(this,Y)),Jt(n,Z(this,Y))),Z(this,Y))}catch(e){return ee(Z(this,Bt).catch(Jt(e,Z(this,Y))),Z(this,Y))}finally(e,n){return n&&Z(this,Y).onCancelList.push(e),ee(Z(this,Bt).finally(Jt(()=>{if(e)return n&&(Z(this,Y).onCancelList=Z(this,Y).onCancelList.filter(r=>r!==e)),e()},Z(this,Y))),Z(this,Y))}cancel(){Z(this,Y).isCanceled=!0;var e=Z(this,Y).onCancelList;Z(this,Y).onCancelList=[];for(var n of e)if(typeof n=="function")try{n()}catch(r){console.error(r)}}isCanceled(){return Z(this,Y).isCanceled===!0}}class At extends de{constructor(e){super({executor:e})}}Nt(At,"all",function(t){return Qt(t,Promise.all(t))}),Nt(At,"allSettled",function(t){return Qt(t,Promise.allSettled(t))}),Nt(At,"any",function(t){return Qt(t,Promise.any(t))}),Nt(At,"race",function(t){return Qt(t,Promise.race(t))}),Nt(At,"resolve",function(t){return Mn(Promise.resolve(t))}),Nt(At,"reject",function(t){return Mn(Promise.reject(t))}),Nt(At,"isCancelable",Ye);function Mn(t){return ee(t,Je())}function Ye(t){return t instanceof At||t instanceof de}function Jt(t,e){if(t)return n=>{if(!e.isCanceled){var r=t(n);return Ye(r)&&e.onCancelList.push(r.cancel),r}return n}}function ee(t,e){return new de({internals:e,promise:t})}function Qt(t,e){var n=Je();return n.onCancelList.push(()=>{for(var r of t)Ye(r)&&r.cancel()}),new de({internals:n,promise:e})}function Je(){return{isCanceled:!1,onCancelList:[]}}function Qe(){var t;return(t=Wn("files_sharing","isPublic",null))!=null?t:document.querySelector('input#isPublic[type="hidden"][name="isPublic"][value="1"]')!==null}function zo(){var t,e,n;return(n=(e=Wn("files_sharing","sharingToken",null))!=null?e:(t=document.querySelector('input#sharingToken[type="hidden"]'))==null?void 0:t.value)!=null?n:null}const Xo=Re().setApp("@nextcloud/files").detectUser().build();var pt=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(pt||{}),tn=(t=>(t.Folder="folder",t.File="file",t))(tn||{});const Or=function(t,e){return t.match(e)!==null},Un=(t,e)=>{if(t.id&&typeof t.id!="number")throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch(n){throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.displayname&&typeof t.displayname!="string")throw new Error("Invalid displayname type");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||typeof t.mime!="string"||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&typeof t.size!="number"&&t.size!==void 0)throw new Error("Invalid size type");if("permissions"in t&&t.permissions!==void 0&&!(typeof t.permissions=="number"&&t.permissions>=pt.NONE&&t.permissions<=pt.ALL))throw new Error("Invalid permissions");if(t.owner&&t.owner!==null&&typeof t.owner!="string")throw new Error("Invalid owner type");if(t.attributes&&typeof t.attributes!="object")throw new Error("Invalid attributes type");if(t.root&&typeof t.root!="string")throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&Or(t.source,e)){const n=t.source.match(e)[0];if(!t.source.includes(ct.join(n,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(en).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var en=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(en||{});class ge{constructor(e,n){j(this,"_data");j(this,"_attributes");j(this,"_knownDavService",/(remote|public)\.php\/(web)?dav/i);j(this,"readonlyAttributes",Object.entries(Object.getOwnPropertyDescriptors(ge.prototype)).filter(e=>typeof e[1].get=="function"&&e[0]!=="__proto__").map(e=>e[0]));j(this,"handler",{set:(e,n,r)=>this.readonlyAttributes.includes(n)?!1:Reflect.set(e,n,r),deleteProperty:(e,n)=>this.readonlyAttributes.includes(n)?!1:Reflect.deleteProperty(e,n),get:(e,n,r)=>this.readonlyAttributes.includes(n)?(Xo.warn('Accessing "Node.attributes.'.concat(n,'" is deprecated, access it directly on the Node instance.')),Reflect.get(this,n)):Reflect.get(e,n,r)});var r,i;Un(e,n||this._knownDavService),this._data=gt(st({displayname:(r=e.attributes)==null?void 0:r.displayname},e),{attributes:{}}),this._attributes=new Proxy(this._data.attributes,this.handler),this.update((i=e.attributes)!=null?i:{}),n&&(this._knownDavService=n)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:e}=new URL(this.source);return e+Mo(this.source.slice(e.length))}get basename(){return ct.basename(this.source)}get displayname(){return this._data.displayname||this.basename}set displayname(e){this._data.displayname=e}get extension(){return ct.extname(this.source)}get dirname(){if(this.root){let n=this.source;this.isDavResource&&(n=n.split(this._knownDavService).pop());const r=n.indexOf(this.root),i=this.root.replace(/\/$/,"");return ct.dirname(n.slice(r+i.length)||"/")}const e=new URL(this.source);return ct.dirname(e.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}set mtime(e){this._data.mtime=e}get crtime(){return this._data.crtime}get size(){return this._data.size}set size(e){this.updateMtime(),this._data.size=e}get attributes(){return this._attributes}get permissions(){return this.owner===null&&!this.isDavResource?pt.READ:this._data.permissions!==void 0?this._data.permissions:pt.NONE}set permissions(e){this.updateMtime(),this._data.permissions=e}get owner(){return this.isDavResource?this._data.owner:null}get isDavResource(){return Or(this.source,this._knownDavService)}get isDavRessource(){return this.isDavResource}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavResource&&ct.dirname(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let e=this.source;this.isDavResource&&(e=e.split(this._knownDavService).pop());const n=e.indexOf(this.root),r=this.root.replace(/\/$/,"");return e.slice(n+r.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){var e;return(e=this._data)==null?void 0:e.id}get status(){var e;return(e=this._data)==null?void 0:e.status}set status(e){this._data.status=e}get data(){return structuredClone(this._data)}move(e){Un(gt(st({},this._data),{source:e}),this._knownDavService);const n=this.basename;this._data.source=e,this.displayname===n&&this.basename!==n&&(this.displayname=this.basename),this.updateMtime()}rename(e){if(e.includes("/"))throw new Error("Invalid basename");this.move(ct.dirname(this.source)+"/"+e)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}update(e){for(const[n,r]of Object.entries(e))try{r===void 0?delete this.attributes[n]:this.attributes[n]=r}catch(i){if(i instanceof TypeError)continue;throw i}}}class nn extends ge{get type(){return tn.File}clone(){return new nn(this.data)}}class rn extends ge{constructor(e){super(gt(st({},e),{mime:"httpd/unix-directory"}))}get type(){return tn.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}clone(){return new rn(this.data)}}const Wo=function(t=""){let e=pt.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=pt.CREATE),t.includes("G")&&(e|=pt.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=pt.UPDATE),t.includes("D")&&(e|=pt.DELETE),t.includes("R")&&(e|=pt.SHARE)),e},qo=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:creationdate","d:displayname","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],Ho={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},Ko=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...qo]),window._nc_dav_properties.map(t=>"<".concat(t," />")).join(" ")},Zo=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces=st({},Ho)),Object.keys(window._nc_dav_namespaces).map(t=>{var e;return"xmlns:".concat(t,'="').concat((e=window._nc_dav_namespaces)==null?void 0:e[t],'"')}).join(" ")},Yo=function(){return'\n \n \n ").concat(Ko(),"\n \n ")};function Jo(){var t;return Qe()?"/files/".concat(zo()):"/files/".concat((t=he())==null?void 0:t.uid)}const Qo=Jo();function ta(){const t=Dr("dav");return Qe()?t.replace("remote.php","public.php"):t}const Ir=ta(),ea=function(t=Ir,e={}){const n=ms(t,{headers:e});function r(i){n.setHeaders(gt(st({},e),{"X-Requested-With":"XMLHttpRequest",requesttoken:i!=null?i:""}))}return kr(r),r(Mr()),vs().patch("fetch",(i,s)=>{const u=s.headers;return u!=null&&u.method&&(s.method=u.method,delete u.method),fetch(i,s)}),n},na=function(t,e=Qo,n=Ir){var p,h;let r=(p=he())==null?void 0:p.uid;if(Qe())r=r!=null?r:"anonymous";else if(!r)throw new Error("No user id found");const i=t.props,s=Wo(i==null?void 0:i.permissions),u=String((i==null?void 0:i["owner-id"])||r),a=i.fileid||0,c=new Date(Date.parse(t.lastmod)),o=new Date(Date.parse(i.creationdate)),l={id:a,source:"".concat(n).concat(t.filename),mtime:!isNaN(c.getTime())&&c.getTime()!==0?c:void 0,crtime:!isNaN(o.getTime())&&o.getTime()!==0?o:void 0,mime:t.mime||"application/octet-stream",displayname:i.displayname!==void 0?String(i.displayname):void 0,size:(i==null?void 0:i.size)||Number.parseInt(i.getcontentlength||"0"),status:a<0?en.FAILED:void 0,permissions:s,owner:u,root:e,attributes:gt(st(st({},t),i),{hasPreview:i==null?void 0:i["has-preview"]})};return(h=l.attributes)==null||delete h.props,t.type==="file"?new nn(l):new rn(l)};var Te={},ra={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(a,c){const o=[];let l=c.exec(a);for(;l;){const p=[];p.startIndex=c.lastIndex-l[0].length;const h=l.length;for(let f=0;f"u")};t.isExist=function(a){return typeof a<"u"},t.isEmptyObject=function(a){return Object.keys(a).length===0},t.merge=function(a,c,o){if(c){const l=Object.keys(c),p=l.length;for(let h=0;hconsole.error("SEMVER",...t):()=>{};var sa=ia;const oa="2.0.0",Pr=256,aa=Number.MAX_SAFE_INTEGER||9007199254740991,ua=16,la=Pr-6,ca=["major","premajor","minor","preminor","patch","prepatch","prerelease"];var ha={MAX_LENGTH:Pr,MAX_SAFE_COMPONENT_LENGTH:ua,MAX_SAFE_BUILD_LENGTH:la,MAX_SAFE_INTEGER:aa,RELEASE_TYPES:ca,SEMVER_SPEC_VERSION:oa,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Bn={exports:{}};(function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=ha,s=sa;e=t.exports={};const u=e.re=[],a=e.safeRe=[],c=e.src=[],o=e.t={};let l=0;const p="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",i],[p,r]],f=g=>{for(const[v,E]of h)g=g.split("".concat(v,"*")).join("".concat(v,"{0,").concat(E,"}")).split("".concat(v,"+")).join("".concat(v,"{1,").concat(E,"}"));return g},d=(g,v,E)=>{const m=f(v),y=l++;s(g,y,v),o[g]=y,c[y]=v,u[y]=new RegExp(v,E?"g":void 0),a[y]=new RegExp(m,E?"g":void 0)};d("NUMERICIDENTIFIER","0|[1-9]\\d*"),d("NUMERICIDENTIFIERLOOSE","\\d+"),d("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-]".concat(p,"*")),d("MAINVERSION","(".concat(c[o.NUMERICIDENTIFIER],")\\.(").concat(c[o.NUMERICIDENTIFIER],")\\.(").concat(c[o.NUMERICIDENTIFIER],")")),d("MAINVERSIONLOOSE","(".concat(c[o.NUMERICIDENTIFIERLOOSE],")\\.(").concat(c[o.NUMERICIDENTIFIERLOOSE],")\\.(").concat(c[o.NUMERICIDENTIFIERLOOSE],")")),d("PRERELEASEIDENTIFIER","(?:".concat(c[o.NUMERICIDENTIFIER],"|").concat(c[o.NONNUMERICIDENTIFIER],")")),d("PRERELEASEIDENTIFIERLOOSE","(?:".concat(c[o.NUMERICIDENTIFIERLOOSE],"|").concat(c[o.NONNUMERICIDENTIFIER],")")),d("PRERELEASE","(?:-(".concat(c[o.PRERELEASEIDENTIFIER],"(?:\\.").concat(c[o.PRERELEASEIDENTIFIER],")*))")),d("PRERELEASELOOSE","(?:-?(".concat(c[o.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(c[o.PRERELEASEIDENTIFIERLOOSE],")*))")),d("BUILDIDENTIFIER","".concat(p,"+")),d("BUILD","(?:\\+(".concat(c[o.BUILDIDENTIFIER],"(?:\\.").concat(c[o.BUILDIDENTIFIER],")*))")),d("FULLPLAIN","v?".concat(c[o.MAINVERSION]).concat(c[o.PRERELEASE],"?").concat(c[o.BUILD],"?")),d("FULL","^".concat(c[o.FULLPLAIN],"$")),d("LOOSEPLAIN","[v=\\s]*".concat(c[o.MAINVERSIONLOOSE]).concat(c[o.PRERELEASELOOSE],"?").concat(c[o.BUILD],"?")),d("LOOSE","^".concat(c[o.LOOSEPLAIN],"$")),d("GTLT","((?:<|>)?=?)"),d("XRANGEIDENTIFIERLOOSE","".concat(c[o.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),d("XRANGEIDENTIFIER","".concat(c[o.NUMERICIDENTIFIER],"|x|X|\\*")),d("XRANGEPLAIN","[v=\\s]*(".concat(c[o.XRANGEIDENTIFIER],")(?:\\.(").concat(c[o.XRANGEIDENTIFIER],")(?:\\.(").concat(c[o.XRANGEIDENTIFIER],")(?:").concat(c[o.PRERELEASE],")?").concat(c[o.BUILD],"?)?)?")),d("XRANGEPLAINLOOSE","[v=\\s]*(".concat(c[o.XRANGEIDENTIFIERLOOSE],")(?:\\.(").concat(c[o.XRANGEIDENTIFIERLOOSE],")(?:\\.(").concat(c[o.XRANGEIDENTIFIERLOOSE],")(?:").concat(c[o.PRERELEASELOOSE],")?").concat(c[o.BUILD],"?)?)?")),d("XRANGE","^".concat(c[o.GTLT],"\\s*").concat(c[o.XRANGEPLAIN],"$")),d("XRANGELOOSE","^".concat(c[o.GTLT],"\\s*").concat(c[o.XRANGEPLAINLOOSE],"$")),d("COERCEPLAIN","(^|[^\\d])(\\d{1,".concat(n,"})(?:\\.(\\d{1,").concat(n,"}))?(?:\\.(\\d{1,").concat(n,"}))?")),d("COERCE","".concat(c[o.COERCEPLAIN],"(?:$|[^\\d])")),d("COERCEFULL",c[o.COERCEPLAIN]+"(?:".concat(c[o.PRERELEASE],")?(?:").concat(c[o.BUILD],")?(?:$|[^\\d])")),d("COERCERTL",c[o.COERCE],!0),d("COERCERTLFULL",c[o.COERCEFULL],!0),d("LONETILDE","(?:~>?)"),d("TILDETRIM","(\\s*)".concat(c[o.LONETILDE],"\\s+"),!0),e.tildeTrimReplace="$1~",d("TILDE","^".concat(c[o.LONETILDE]).concat(c[o.XRANGEPLAIN],"$")),d("TILDELOOSE","^".concat(c[o.LONETILDE]).concat(c[o.XRANGEPLAINLOOSE],"$")),d("LONECARET","(?:\\^)"),d("CARETTRIM","(\\s*)".concat(c[o.LONECARET],"\\s+"),!0),e.caretTrimReplace="$1^",d("CARET","^".concat(c[o.LONECARET]).concat(c[o.XRANGEPLAIN],"$")),d("CARETLOOSE","^".concat(c[o.LONECARET]).concat(c[o.XRANGEPLAINLOOSE],"$")),d("COMPARATORLOOSE","^".concat(c[o.GTLT],"\\s*(").concat(c[o.LOOSEPLAIN],")$|^$")),d("COMPARATOR","^".concat(c[o.GTLT],"\\s*(").concat(c[o.FULLPLAIN],")$|^$")),d("COMPARATORTRIM","(\\s*)".concat(c[o.GTLT],"\\s*(").concat(c[o.LOOSEPLAIN],"|").concat(c[o.XRANGEPLAIN],")"),!0),e.comparatorTrimReplace="$1$2$3",d("HYPHENRANGE","^\\s*(".concat(c[o.XRANGEPLAIN],")\\s+-\\s+(").concat(c[o.XRANGEPLAIN],")\\s*$")),d("HYPHENRANGELOOSE","^\\s*(".concat(c[o.XRANGEPLAINLOOSE],")\\s+-\\s+(").concat(c[o.XRANGEPLAINLOOSE],")\\s*$")),d("STAR","(<|>)?=?\\s*\\*"),d("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),d("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Bn,Bn.exports);const pa=t=>t===null?Re().setApp("end_to_end_encryption").build():Re().setApp("end_to_end_encryption").setUid(t.uid).build(),K=pa(he());function fa(t){return String.fromCharCode(...t)}function da(t){return Uint8Array.from(t,e=>e.charCodeAt(0))}function bt(t){return da(atob(t))}const Gn="apps/end_to_end_encryption/api/v2",Tr={PrivateKey:Gn+"/private-key",Metadata:Gn+"/meta-data/{fileId}"};async function ga(){const t=(await qn.get(Hn(Tr.PrivateKey),{headers:{"X-E2EE-SUPPORTED":"true"}})).data.ocs.data["private-key"],[e,n,r]=t.split("|");return{encryptedPrivateKey:bt(e),iv:bt(n),salt:bt(r)}}async function sn(t){const e=await qn.get(Hn(Tr.Metadata,{fileId:t}),{headers:{"X-E2EE-SUPPORTED":"true"}});return JSON.parse(e.data.ocs.data["meta-data"])}var ma=Object.defineProperty,Vn=Object.getOwnPropertySymbols,va=Object.prototype.hasOwnProperty,ya=Object.prototype.propertyIsEnumerable,zn=(t,e,n)=>e in t?ma(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ba=(t,e)=>{for(var n in e||(e={}))va.call(e,n)&&zn(t,n,e[n]);if(Vn)for(var n of Vn(e))ya.call(e,n)&&zn(t,n,e[n]);return t};async function on(t,e,n={}){return await self.crypto.subtle.decrypt(ba({name:"AES-GCM"},n),e,t)}async function Ea(t,e){return await self.crypto.subtle.decrypt({name:"RSA-OAEP"},e,t)}async function $r(t){return await self.crypto.subtle.importKey("raw",t,{name:"AES-GCM",length:128},!0,["decrypt","encrypt"])}async function wa(t){return await self.crypto.subtle.importKey("pkcs8",t,{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"])}async function xa(t,e){K.debug("Decrypting metadata info",{metadata:t});const[n,r]=t.metadata.ciphertext.split("|"),i=await on(bt(n),e,{iv:bt(r)});return JSON.parse(await Na(i))}async function Na(t){const e=new ReadableStream({start(n){n.enqueue(new Uint8Array(t)),n.close()}}).pipeThrough(new DecompressionStream("gzip"));return await new Response(e).text()}async function Aa(t,e,n){var r;K.debug("Getting metadata private key",{metadata:t,userId:e});const i=(r=t.users)==null?void 0:r.find(a=>a.userId===e);if(!i)throw new Error("User not found in metadata");const s=bt(i.encryptedMetadataKey),u=await Ea(s,n);return await $r(u)}const Oa="-----BEGIN PRIVATE KEY-----",Ia="-----END PRIVATE KEY-----";async function Pa(t,e){K.debug("Decrypting private key",{privateKeyInfo:t,mnemonic:e});const n=await Ta(e,t.salt),r=await on(t.encryptedPrivateKey,n,{iv:t.iv,tagLength:128});return $a(atob(fa(new Uint8Array(r))))}async function Ta(t,e){const n=await crypto.subtle.importKey("raw",new TextEncoder().encode(t.replaceAll(" ","")),{name:"PBKDF2"},!1,["deriveKey"]);return await crypto.subtle.deriveKey({name:"PBKDF2",salt:e,hash:"SHA-1",iterations:1024},n,{name:"AES-GCM",length:256},!0,["decrypt","encrypt"])}async function $a(t){K.debug("Loading PEM key",{pem:t});const e=t.substring(Oa.length,t.length-Ia.length-1).replace(/\n/g,"");return wa(bt(e))}const Ra={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Sa=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Ca=[],_a=Ht(Ra,Sa,Ca,!1,null,null);const La=_a.exports,ja={name:"CheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Fa=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon check-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Da=[],ka=Ht(ja,Fa,Da,!1,null,null);const Ma=ka.exports,Ua={name:"NcInputField",components:{NcButton:Ur,AlertCircle:La,Check:Ma},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{value:{type:[String,Number],default:void 0},modelValue:{type:[String,Number],default:void 0},type:{type:String,default:"text",validator:t=>["text","password","email","tel","url","search","number"].includes(t)},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:""},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:""},disabled:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["update:value","update:modelValue","update:model-value","trailing-button-click"],setup(){return{model:Kn("value","update:value",!0)}},computed:{computedId(){return this.$attrs.id&&this.$attrs.id!==""?this.$attrs.id:this.inputName},inputName(){return"input"+Br()},hasLeadingIcon(){return this.$slots.default},hasTrailingIcon(){return this.success},hasPlaceholder(){return this.placeholder!==""&&this.placeholder!==void 0},computedPlaceholder(){return this.hasPlaceholder?this.placeholder:this.label},isValidLabel(){const t=this.label||this.labelOutside;return t||console.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation."),t},ariaDescribedby(){const t=[];return this.helperText.length>0&&t.push("".concat(this.inputName,"-helper-text")),this.$attrs["aria-describedby"]&&t.push(this.$attrs["aria-describedby"]),t.join(" ")||null}},methods:{focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},handleInput(t){const e=this.type==="number"&&typeof this.model=="number"?parseFloat(t.target.value,10):t.target.value;this.model=e},handleTrailingButtonClick(t){this.$emit("trailing-button-click",t)}}};var Ba=function(){var n;var t=this,e=t._self._c;return e("div",{staticClass:"input-field",class:{"input-field--disabled":t.disabled,"input-field--label-outside":t.labelOutside||!t.isValidLabel,"input-field--leading-icon":t.hasLeadingIcon,"input-field--trailing-icon":t.showTrailingButton||t.hasTrailingIcon,"input-field--pill":t.pill}},[e("div",{staticClass:"input-field__main-wrapper"},[e("input",t._g(t._b({ref:"input",staticClass:"input-field__input",class:[t.inputClass,{"input-field__input--success":t.success,"input-field__input--error":t.error}],attrs:{id:t.computedId,type:t.type,disabled:t.disabled,placeholder:t.computedPlaceholder,"aria-describedby":t.ariaDescribedby,"aria-live":"polite"},domProps:{value:(n=t.model)==null?void 0:n.toString()},on:{input:t.handleInput}},"input",t.$attrs,!1),t.$listeners)),!t.labelOutside&&t.isValidLabel?e("label",{staticClass:"input-field__label",attrs:{for:t.computedId}},[t._v(" "+t._s(t.label)+" ")]):t._e(),e("div",{directives:[{name:"show",rawName:"v-show",value:t.hasLeadingIcon,expression:"hasLeadingIcon"}],staticClass:"input-field__icon input-field__icon--leading"},[t._t("default")],2),t.showTrailingButton?e("NcButton",{staticClass:"input-field__trailing-button",attrs:{type:"tertiary-no-background","aria-label":t.trailingButtonLabel,disabled:t.disabled},on:{click:t.handleTrailingButtonClick},scopedSlots:t._u([{key:"icon",fn:function(){return[t._t("trailing-button-icon")]},proxy:!0}],null,!0)}):t.success||t.error?e("div",{staticClass:"input-field__icon input-field__icon--trailing"},[t.success?e("Check",{staticStyle:{color:"var(--color-success-text)"},attrs:{size:20}}):t.error?e("AlertCircle",{staticStyle:{color:"var(--color-error-text)"},attrs:{size:20}}):t._e()],1):t._e()],1),t.helperText.length>0?e("p",{staticClass:"input-field__helper-text-message",class:{"input-field__helper-text-message--error":t.error,"input-field__helper-text-message--success":t.success},attrs:{id:"".concat(t.inputName,"-helper-text")}},[t.success?e("Check",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):t.error?e("AlertCircle",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):t._e(),t._v(" "+t._s(t.helperText)+" ")],1):t._e()])},Ga=[],Va=Ht(Ua,Ba,Ga,!1,null,"e4fac465");const Ue=Va.exports,za={name:"UndoVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Xa=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon undo-variant-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Wa=[],qa=Ht(za,Xa,Wa,!1,null,null);const Ha=qa.exports;Gr(Xr,zr);const Ka=new Set(Object.keys(Ue.props)),Za={name:"NcTextField",components:{NcInputField:Ue,Close:Vr,ArrowRight:Jr,Undo:Ha},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:gt(st({" ":{}},Ue.props),{trailingButtonLabel:{type:String,default:""},trailingButtonIcon:{type:String,default:"close",validator:t=>["close","arrowRight","undo"].includes(t)}}),emits:["update:value","update:modelValue","update:model-value"],setup(){return{model:Kn("value","update:value")}},computed:{propsAndAttrsToForward(){const t={undo:ye("Undo changes"),close:ye("Clear text"),arrowRight:ye("Save changes")};return gt(st(st({},this.$attrs),Object.fromEntries(Object.entries(this.$props).filter(([e])=>Ka.has(e)))),{trailingButtonLabel:this.trailingButtonLabel||t[this.trailingButtonIcon]})}},methods:{focus(){this.$refs.inputField.focus()},select(){this.$refs.inputField.select()}}};var Ya=function(){var t=this,e=t._self._c;return e("NcInputField",t._g(t._b({ref:"inputField",scopedSlots:t._u([t.type!=="search"?{key:"trailing-button-icon",fn:function(){return[t.trailingButtonIcon==="close"?e("Close",{attrs:{size:20}}):t.trailingButtonIcon==="arrowRight"?e("ArrowRight",{attrs:{size:20}}):t.trailingButtonIcon==="undo"?e("Undo",{attrs:{size:20}}):t._e()]},proxy:!0}:null],null,!0)},"NcInputField",t.propsAndAttrsToForward,!1),t.$listeners),[t._t("default")],2)},Ja=[],Qa=Ht(Za,Ya,Ja,!1,null,null);const tu=Qa.exports,eu=Wr({__name:"MnemonicPromptDialog",emits:["close"],setup(t,{emit:e}){const n=qr("");function r(){if(n.value.trim().split(/\s+/g).length!==12)throw new Error("Mnemonic must be 12 words long");e("close",n.value)}const i=Hr(()=>[{label:hn("end_to_en_encryption","Submit"),nativeType:"submit",type:"primary",callback:r}]);return{__sfc:!0,emit:e,mnemonic:n,submit:r,buttons:i,t:hn,NcDialog:Kr,NcTextField:tu}}});var nu=function(){var t=this,e=t._self._c,n=t._self._setupProxy;return e(n.NcDialog,{attrs:{name:n.t("end_to_end_encryption","Enter your 12 words mnemonic"),buttons:n.buttons,"is-form":!0},on:{submit:n.submit}},[e(n.NcTextField,{attrs:{value:n.mnemonic,label:n.t("end_to_end_encryption","Mnemonic"),autofocus:!0,required:!0},on:{"update:value":function(r){n.mnemonic=r}}})],1)},ru=[],iu=Zr(eu,nu,ru,!1,null,null);const su=iu.exports;async function ou(){const t=Promise.withResolvers();return Yr(su,void 0,e=>{e!==void 0?t.resolve(e):t.reject()}),t.promise}let Wt;const au=ea();let $e;const ft={};function uu(){Wt=window.fetch,K.debug("Setting up WebDAV decryption proxy"),window.fetch=async(t,e={})=>{let n=new Request(t,e);if(!(n.url.includes("/remote.php/")&&(n.method==="GET"||n.method==="PROPFIND")))return Wt(n);K.debug("Proxying ".concat(n.method," ").concat(n.url),{request:n});const r=new Headers(n.headers);switch(r.set("X-E2EE-SUPPORTED","true"),n=new Request(n,{headers:r}),n.method){case"PROPFIND":return cu(n);case"GET":default:return lu(n)}}}async function lu(t){const e=new URL(t.url).pathname,n=await Be(e);if(n===void 0)return K.debug("File is not part of e2ee folder",{path:e}),Wt(t);const r=await ne(ct.dirname(e),n),i=r.files[ct.basename(t.url)];if(i===void 0)throw K.debug("Could not find metadata info",{path:e,metadataInfo:r}),new Error("Could not find file in metadata");return K.debug("Fetching encrypted file",{request:t}),await hu(await Wt(t),i)}async function cu(t){var e,n;K.debug("Fetching raw PROPFIND",{request:t});const r=await Wt(t),i=new URL(t.url).pathname,s=await r.text(),u=await bs(s),a=ys(u,i,!0);let c=i;if(a.type==="directory"){if(((e=a.props)==null?void 0:e["is-encrypted"])!==1)return K.debug("Folder is not e2ee",{xml:u}),new Response(s,r);ft[i]=await sn((n=a.props)==null?void 0:n.fileid);const o=await Be(c);if(o===void 0)return K.debug("Cannot find root E2EE folder",{path:i}),new Response(s,r);const l=await ne(c,o);let p;try{p=await ne(ct.dirname(c),o)}catch(h){}Xn(u,i,l,p)}if(a.type==="file"){c=ct.dirname(i);const o=await Be(c);if(o===void 0)return K.debug("Cannot find root E2EE folder",{path:i}),new Response(s,r);Xn(u,i,void 0,await ne(c,o))}return new Response(new ko.XMLBuilder().build(u),r)}function Xn(t,e,n,r){K.debug("Updating PROPFIND info",{folderPath:e,metadataInfo:n,parentMetadataInfo:r,xml:t}),t.multistatus.response.forEach(i=>{if(i.propstat===void 0)return;let s=n;if(i.href===e&&r&&(s=r),s===void 0)return;const u=i.propstat.prop.displayname;let a;if(s.files[u])a=s.files[u].filename,i.propstat.prop.getcontenttype=s.files[u].mimetype;else if(s.folders[u])a=s.folders[u],i.propstat.prop.getcontenttype="httpd/unix-directory";else return;i.propstat.prop.displayname=a})}async function hu(t,e){const n=await on(new Uint8Array(await t.arrayBuffer()),await $r(bt(e.key)),{iv:bt(e.nonce)});return new Response(n,t)}async function ne(t,e){K.debug("Getting metadata info",{path:t});const n=he();if(!n)throw new Error("No user logged in");return $e===void 0&&($e=await Pa(await ga(),await ou())),await xa(await pu(t),await Aa(e,n.uid,$e))}async function Rr(t){K.debug("Getting file id",{path:t});const e=await au.stat(decodeURI(t).replace("remote.php/dav/",""),{details:!0,data:Yo()}),n=na(e.data);if(!n.fileid)throw new Error("File ID not found");return String(n.fileid)}async function pu(t){return K.debug("Getting metadata",{path:t,metadataCache:ft}),ft[t]||(ft[t]=await sn(await Rr(t))),ft[t]}async function Be(t){var e;K.debug("Getting root metadata",{path:t,metadataCache:ft});const n=Object.entries(ft).filter(([,r])=>r.users!==void 0).find(([r])=>t.startsWith(r));if(n)return n[1];for(;t!=="/";){if((e=ft[t])!=null||(ft[t]=await sn(await Rr(t))),ft[t].users!==void 0)return ft[t];t=ct.dirname(t)}}uu(); +var Sr=Object.defineProperty,_r=Object.defineProperties;var Lr=Object.getOwnPropertyDescriptors;var ln=Object.getOwnPropertySymbols;var jr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable;var cn=t=>{throw TypeError(t)};var me=(t,e,n)=>e in t?Sr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,st=(t,e)=>{for(var n in e||(e={}))jr.call(e,n)&&me(t,n,e[n]);if(ln)for(var n of ln(e))Fr.call(e,n)&&me(t,n,e[n]);return t},gt=(t,e)=>_r(t,Lr(e));var j=(t,e,n)=>me(t,typeof e!="symbol"?e+"":e,n),ve=(t,e,n)=>e.has(t)||cn("Cannot "+n);var P=(t,e,n)=>(ve(t,e,"read from private field"),n?n.call(t):e.get(t)),ot=(t,e,n)=>e.has(t)?cn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),M=(t,e,n,r)=>(ve(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),xt=(t,e,n)=>(ve(t,e,"access private method"),n);import{p as Vt,g as Zt,l as Wn,a as Re,b as he,U as Dr,o as kr,c as Mr,d as ct,e as qn,v as Hn,n as Ht,N as Ur,G as Br,r as Gr,C as Vr,t as ye,f as zr,h as Xr,i as Wr,j as qr,k as Hr,m as hn,q as Kr,s as Zr,u as Yr}from"./_plugin-vue2_normalizer-CM8922Se.chunk.mjs";import{u as Kn}from"./useModelMigration-EhAWvqDD-N29HShWK.chunk.mjs";import{A as Jr}from"./ArrowRight-CY2b9hgN-b3v7XbMl.chunk.mjs";var be={},Qr={2:t=>{function e(i,s,u){i instanceof RegExp&&(i=n(i,u)),s instanceof RegExp&&(s=n(s,u));var a=r(i,s,u);return a&&{start:a[0],end:a[1],pre:u.slice(0,a[0]),body:u.slice(a[0]+i.length,a[1]),post:u.slice(a[1]+s.length)}}function n(i,s){var u=s.match(i);return u?u[0]:null}function r(i,s,u){var a,c,o,l,p,h=u.indexOf(i),f=u.indexOf(s,h+1),d=h;if(h>=0&&f>0){for(a=[],o=u.length;d>=0&&!p;)d==h?(a.push(d),h=u.indexOf(i,d+1)):a.length==1?p=[a.pop(),f]:((c=a.pop())=0?h:f;a.length&&(p=[o,l])}return p}t.exports=e,e.range=r},101:function(t,e,n){var r;t=n.nmd(t),function(i){var s=(t&&t.exports,typeof Zt=="object"&&Zt);s.global!==s&&s.window;var u=function(p){this.message=p};(u.prototype=new Error).name="InvalidCharacterError";var a=function(p){throw new u(p)},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=/[\t\n\f\r ]/g,l={encode:function(p){p=String(p),/[^\0-\xFF]/.test(p)&&a("The string to be encoded contains characters outside of the Latin1 range.");for(var h,f,d,g,v=p.length%3,E="",m=-1,y=p.length-v;++m>18&63)+c.charAt(g>>12&63)+c.charAt(g>>6&63)+c.charAt(63&g);return v==2?(h=p.charCodeAt(m)<<8,f=p.charCodeAt(++m),E+=c.charAt((g=h+f)>>10)+c.charAt(g>>4&63)+c.charAt(g<<2&63)+"="):v==1&&(g=p.charCodeAt(m),E+=c.charAt(g>>2)+c.charAt(g<<4&63)+"=="),E},decode:function(p){var h=(p=String(p).replace(o,"")).length;h%4==0&&(h=(p=p.replace(/==?$/,"")).length),(h%4==1||/[^+a-zA-Z0-9/]/.test(p))&&a("Invalid character: the string to be decoded is not correctly encoded.");for(var f,d,g=0,v="",E=-1;++E>(-2*g&6)));return v},version:"1.0.0"};(r=function(){return l}.call(e,n,e,t))===void 0||(t.exports=r)}()},172:(t,e)=>{e.d=function(n){if(!n)return 0;for(var r=(n=n.toString()).length,i=n.length;i--;){var s=n.charCodeAt(i);56320<=s&&s<=57343&&i--,127{var e={utf8:{stringToBytes:function(n){return e.bin.stringToBytes(unescape(encodeURIComponent(n)))},bytesToString:function(n){return decodeURIComponent(escape(e.bin.bytesToString(n)))}},bin:{stringToBytes:function(n){for(var r=[],i=0;i{var e,n;e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(r,i){return r<>>32-i},rotr:function(r,i){return r<<32-i|r>>>i},endian:function(r){if(r.constructor==Number)return 16711935&n.rotl(r,8)|4278255360&n.rotl(r,24);for(var i=0;i0;r--)i.push(Math.floor(256*Math.random()));return i},bytesToWords:function(r){for(var i=[],s=0,u=0;s>>5]|=r[s]<<24-u%32;return i},wordsToBytes:function(r){for(var i=[],s=0;s<32*r.length;s+=8)i.push(r[s>>>5]>>>24-s%32&255);return i},bytesToHex:function(r){for(var i=[],s=0;s>>4).toString(16)),i.push((15&r[s]).toString(16));return i.join("")},hexToBytes:function(r){for(var i=[],s=0;s>>6*(3-a)&63)):i.push("=");return i.join("")},base64ToBytes:function(r){r=r.replace(/[^A-Z0-9+\/]/gi,"");for(var i=[],s=0,u=0;s>>6-2*u);return i}},t.exports=n},635:(t,e,n)=>{const r=n(31),i=n(338),s=n(221);t.exports={XMLParser:i,XMLValidator:r,XMLBuilder:s}},705:(t,e)=>{const n=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r="["+n+"]["+n+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",i=new RegExp("^"+r+"$");e.isExist=function(s){return s!==void 0},e.isEmptyObject=function(s){return Object.keys(s).length===0},e.merge=function(s,u,a){if(u){const c=Object.keys(u),o=c.length;for(let l=0;l{const r=n(705),i={allowBooleanAttributes:!1,unpairedTags:[]};function s(m){return m===" "||m===" "||m==="\n"||m==="\r"}function u(m,y){const w=y;for(;y5&&b==="xml")return d("InvalidXml","XML declaration allowed only at the start of the document.",v(m,y));if(m[y]=="?"&&m[y+1]==">"){y++;break}}return y}function a(m,y){if(m.length>y+5&&m[y+1]==="-"&&m[y+2]==="-"){for(y+=3;y"){y+=2;break}}else if(m.length>y+8&&m[y+1]==="D"&&m[y+2]==="O"&&m[y+3]==="C"&&m[y+4]==="T"&&m[y+5]==="Y"&&m[y+6]==="P"&&m[y+7]==="E"){let w=1;for(y+=8;y"&&(w--,w===0))break}else if(m.length>y+9&&m[y+1]==="["&&m[y+2]==="C"&&m[y+3]==="D"&&m[y+4]==="A"&&m[y+5]==="T"&&m[y+6]==="A"&&m[y+7]==="["){for(y+=8;y"){y+=2;break}}return y}e.validate=function(m,y){y=Object.assign({},i,y);const w=[];let b=!1,A=!1;m[0]==="\uFEFF"&&(m=m.substr(1));for(let N=0;N"&&m[N]!==" "&&m[N]!==" "&&m[N]!=="\n"&&m[N]!=="\r";N++)R+=m[N];if(R=R.trim(),R[R.length-1]==="/"&&(R=R.substring(0,R.length-1),N--),x=R,!r.isName(x)){let C;return C=R.trim().length===0?"Invalid space after '<'.":"Tag '"+R+"' is an invalid name.",d("InvalidTag",C,v(m,N))}const T=l(m,N);if(T===!1)return d("InvalidAttr","Attributes for '"+R+"' have open quote.",v(m,N));let I=T.value;if(N=T.index,I[I.length-1]==="/"){const C=N-I.length;I=I.substring(0,I.length-1);const S=h(I,y);if(S!==!0)return d(S.err.code,S.err.msg,v(m,C+S.err.line));b=!0}else if($){if(!T.tagClosed)return d("InvalidTag","Closing tag '"+R+"' doesn't have proper closing.",v(m,N));if(I.trim().length>0)return d("InvalidTag","Closing tag '"+R+"' can't have attributes or invalid starting.",v(m,O));if(w.length===0)return d("InvalidTag","Closing tag '"+R+"' has not been opened.",v(m,O));{const C=w.pop();if(R!==C.tagName){let S=v(m,C.tagStartPos);return d("InvalidTag","Expected closing tag '"+C.tagName+"' (opened in line "+S.line+", col "+S.col+") instead of closing tag '"+R+"'.",v(m,O))}w.length==0&&(A=!0)}}else{const C=h(I,y);if(C!==!0)return d(C.err.code,C.err.msg,v(m,N-I.length+C.err.line));if(A===!0)return d("InvalidXml","Multiple possible root nodes found.",v(m,N));y.unpairedTags.indexOf(R)!==-1||w.push({tagName:R,tagStartPos:O}),b=!0}for(N++;N0)||d("InvalidXml","Invalid '"+JSON.stringify(w.map(N=>N.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):d("InvalidXml","Start tag expected.",1)};const c='"',o="'";function l(m,y){let w="",b="",A=!1;for(;y"&&b===""){A=!0;break}w+=m[y]}return b===""&&{value:w,index:y,tagClosed:A}}const p=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function h(m,y){const w=r.getAllMatches(m,p),b={};for(let A=0;A{const r=n(87),i={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(o,l){return l},attributeValueProcessor:function(o,l){return l},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function s(o){this.options=Object.assign({},i,o),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=u,this.options.format?(this.indentate=a,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function u(o,l,p){const h=this.j2x(o,p+1);return o[this.options.textNodeName]!==void 0&&Object.keys(o).length===1?this.buildTextValNode(o[this.options.textNodeName],l,h.attrStr,p):this.buildObjectNode(h.val,l,h.attrStr,p)}function a(o){return this.options.indentBy.repeat(o)}function c(o){return!(!o.startsWith(this.options.attributeNamePrefix)||o===this.options.textNodeName)&&o.substr(this.attrPrefixLen)}s.prototype.build=function(o){return this.options.preserveOrder?r(o,this.options):(Array.isArray(o)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(o={[this.options.arrayNodeName]:o}),this.j2x(o,0).val)},s.prototype.j2x=function(o,l){let p="",h="";for(let f in o)if(Object.prototype.hasOwnProperty.call(o,f))if(o[f]===void 0)this.isAttribute(f)&&(h+="");else if(o[f]===null)this.isAttribute(f)?h+="":f[0]==="?"?h+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:h+=this.indentate(l)+"<"+f+"/"+this.tagEndChar;else if(o[f]instanceof Date)h+=this.buildTextValNode(o[f],f,"",l);else if(typeof o[f]!="object"){const d=this.isAttribute(f);if(d)p+=this.buildAttrPairStr(d,""+o[f]);else if(f===this.options.textNodeName){let g=this.options.tagValueProcessor(f,""+o[f]);h+=this.replaceEntitiesValue(g)}else h+=this.buildTextValNode(o[f],f,"",l)}else if(Array.isArray(o[f])){const d=o[f].length;let g="",v="";for(let E=0;E")+this.newLine:this.indentate(h)+"<"+l+p+d+this.tagEndChar+o+this.indentate(h)+f:this.indentate(h)+"<"+l+p+d+">"+o+f}},s.prototype.closeTag=function(o){let l="";return this.options.unpairedTags.indexOf(o)!==-1?this.options.suppressUnpairedNode||(l="/"):l=this.options.suppressEmptyNode?"/":">")+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(h)+"")+this.newLine;if(l[0]==="?")return this.indentate(h)+"<"+l+p+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,o);return f=this.replaceEntitiesValue(f),f===""?this.indentate(h)+"<"+l+p+this.closeTag(l)+this.tagEndChar:this.indentate(h)+"<"+l+p+">"+f+"0&&this.options.processEntities)for(let l=0;l{function e(u,a,c,o){let l="",p=!1;for(let h=0;h"),p=!1;continue}if(d===a.commentPropName){l+=o+""),p=!0;continue}if(d[0]==="?"){const y=r(f[":@"],a),w=d==="?xml"?"":o;let b=f[d][0][a.textNodeName];b=b.length!==0?" "+b:"",l+=w+"<".concat(d).concat(b).concat(y,"?>"),p=!0;continue}let v=o;v!==""&&(v+=a.indentBy);const E=o+"<".concat(d).concat(r(f[":@"],a)),m=e(f[d],a,g,v);a.unpairedTags.indexOf(d)!==-1?a.suppressUnpairedNode?l+=E+">":l+=E+"/>":m&&m.length!==0||!a.suppressEmptyNode?m&&m.endsWith(">")?l+=E+">".concat(m).concat(o,""):(l+=E+">",m&&o!==""&&(m.includes("/>")||m.includes("")):l+=E+"/>",p=!0}return l}function n(u){const a=Object.keys(u);for(let c=0;c0&&a.processEntities)for(let c=0;c0&&(c="\n"),e(u,a,"",c)}},193:(t,e,n)=>{const r=n(705);function i(p,h){let f="";for(;h"){if(v?p[h-1]==="-"&&p[h-2]==="-"&&(v=!1,d--):d--,d===0)break}else p[h]==="["?g=!0:E+=p[h];else{if(g&&u(p,h))h+=7,[entityName,val,h]=i(p,h+1),val.indexOf("&")===-1&&(f[l(entityName)]={regx:RegExp("&".concat(entityName,";"),"g"),val});else if(g&&a(p,h))h+=8;else if(g&&c(p,h))h+=8;else if(g&&o(p,h))h+=9;else{if(!s)throw new Error("Invalid DOCTYPE");v=!0}d++,E=""}if(d!==0)throw new Error("Unclosed DOCTYPE")}return{entities:f,i:h}}},63:(t,e)=>{const n={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,i){return i},attributeValueProcessor:function(r,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(r,i,s){return r}};e.buildOptions=function(r){return Object.assign({},n,r)},e.defaultOptions=n},299:(t,e,n)=>{const r=n(705),i=n(365),s=n(193),u=n(494);function a(b){const A=Object.keys(b);for(let x=0;x0)){R||(b=this.replaceEntitiesValue(b));const T=this.options.tagValueProcessor(A,b,x,O,$);return T==null?b:typeof T!=typeof b||T!==b?T:this.options.trimValues||b.trim()===b?w(b,this.options.parseTagValue,this.options.numberParseOptions):b}}function o(b){if(this.options.removeNSPrefix){const A=b.split(":"),x=b.charAt(0)==="/"?"/":"";if(A[0]==="xmlns")return"";A.length===2&&(b=x+A[1])}return b}const l=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function p(b,A,x){if(!this.options.ignoreAttributes&&typeof b=="string"){const N=r.getAllMatches(b,l),O=N.length,$={};for(let R=0;R",$,"Closing Tag is not closed.");let T=b.substring($+2,R).trim();if(this.options.removeNSPrefix){const S=T.indexOf(":");S!==-1&&(T=T.substr(S+1))}this.options.transformTagName&&(T=this.options.transformTagName(T)),x&&(N=this.saveTextToParentTag(N,x,O));const I=O.substring(O.lastIndexOf(".")+1);if(T&&this.options.unpairedTags.indexOf(T)!==-1)throw new Error("Unpaired tag can not be used as closing tag: "));let C=0;I&&this.options.unpairedTags.indexOf(I)!==-1?(C=O.lastIndexOf(".",O.lastIndexOf(".")-1),this.tagsNodeStack.pop()):C=O.lastIndexOf("."),O=O.substring(0,C),x=this.tagsNodeStack.pop(),N="",$=R}else if(b[$+1]==="?"){let R=m(b,$,!1,"?>");if(!R)throw new Error("Pi Tag is not closed.");if(N=this.saveTextToParentTag(N,x,O),!(this.options.ignoreDeclaration&&R.tagName==="?xml"||this.options.ignorePiTags)){const T=new i(R.tagName);T.add(this.options.textNodeName,""),R.tagName!==R.tagExp&&R.attrExpPresent&&(T[":@"]=this.buildAttributesMap(R.tagExp,O,R.tagName)),this.addChild(x,T,O)}$=R.closeIndex+1}else if(b.substr($+1,3)==="!--"){const R=E(b,"-->",$+4,"Comment is not closed.");if(this.options.commentPropName){const T=b.substring($+4,R-2);N=this.saveTextToParentTag(N,x,O),x.add(this.options.commentPropName,[{[this.options.textNodeName]:T}])}$=R}else if(b.substr($+1,2)==="!D"){const R=s(b,$);this.docTypeEntities=R.entities,$=R.i}else if(b.substr($+1,2)==="!["){const R=E(b,"]]>",$,"CDATA is not closed.")-2,T=b.substring($+9,R);N=this.saveTextToParentTag(N,x,O);let I=this.parseTextData(T,x.tagname,O,!0,!1,!0,!0);I==null&&(I=""),this.options.cdataPropName?x.add(this.options.cdataPropName,[{[this.options.textNodeName]:T}]):x.add(this.options.textNodeName,I),$=R+2}else{let R=m(b,$,this.options.removeNSPrefix),T=R.tagName;const I=R.rawTagName;let C=R.tagExp,S=R.attrExpPresent,dt=R.closeIndex;this.options.transformTagName&&(T=this.options.transformTagName(T)),x&&N&&x.tagname!=="!xml"&&(N=this.saveTextToParentTag(N,x,O,!1));const B=x;if(B&&this.options.unpairedTags.indexOf(B.tagname)!==-1&&(x=this.tagsNodeStack.pop(),O=O.substring(0,O.lastIndexOf("."))),T!==A.tagname&&(O+=O?"."+T:T),this.isItStopNode(this.options.stopNodes,O,T)){let _="";if(C.length>0&&C.lastIndexOf("/")===C.length-1)T[T.length-1]==="/"?(T=T.substr(0,T.length-1),O=O.substr(0,O.length-1),C=T):C=C.substr(0,C.length-1),$=R.closeIndex;else if(this.options.unpairedTags.indexOf(T)!==-1)$=R.closeIndex;else{const Q=this.readStopNodeData(b,I,dt+1);if(!Q)throw new Error("Unexpected end of ".concat(I));$=Q.i,_=Q.tagContent}const at=new i(T);T!==C&&S&&(at[":@"]=this.buildAttributesMap(C,O,T)),_&&(_=this.parseTextData(_,T,O,!0,S,!0,!0)),O=O.substr(0,O.lastIndexOf(".")),at.add(this.options.textNodeName,_),this.addChild(x,at,O)}else{if(C.length>0&&C.lastIndexOf("/")===C.length-1){T[T.length-1]==="/"?(T=T.substr(0,T.length-1),O=O.substr(0,O.length-1),C=T):C=C.substr(0,C.length-1),this.options.transformTagName&&(T=this.options.transformTagName(T));const _=new i(T);T!==C&&S&&(_[":@"]=this.buildAttributesMap(C,O,T)),this.addChild(x,_,O),O=O.substr(0,O.lastIndexOf("."))}else{const _=new i(T);this.tagsNodeStack.push(x),T!==C&&S&&(_[":@"]=this.buildAttributesMap(C,O,T)),this.addChild(x,_,O),x=_}N="",$=dt}}else N+=b[$];return A.child};function f(b,A,x){const N=this.options.updateTag(A.tagname,x,A[":@"]);N===!1||(typeof N=="string"&&(A.tagname=N),b.addChild(A))}const d=function(b){if(this.options.processEntities){for(let A in this.docTypeEntities){const x=this.docTypeEntities[A];b=b.replace(x.regx,x.val)}for(let A in this.lastEntities){const x=this.lastEntities[A];b=b.replace(x.regex,x.val)}if(this.options.htmlEntities)for(let A in this.htmlEntities){const x=this.htmlEntities[A];b=b.replace(x.regex,x.val)}b=b.replace(this.ampEntity.regex,this.ampEntity.val)}return b};function g(b,A,x,N){return b&&(N===void 0&&(N=Object.keys(A.child).length===0),(b=this.parseTextData(b,A.tagname,x,!1,!!A[":@"]&&Object.keys(A[":@"]).length!==0,N))!==void 0&&b!==""&&A.add(this.options.textNodeName,b),b=""),b}function v(b,A,x){const N="*."+x;for(const O in b){const $=b[O];if(N===$||A===$)return!0}return!1}function E(b,A,x,N){const O=b.indexOf(A,x);if(O===-1)throw new Error(N);return O+A.length-1}function m(b,A,x){const N=function(S,dt){let B,_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:">",at="";for(let Q=dt;Q3&&arguments[3]!==void 0?arguments[3]:">");if(!N)return;let O=N.data;const $=N.index,R=O.search(/\s/);let T=O,I=!0;R!==-1&&(T=O.substring(0,R),O=O.substring(R+1).trimStart());const C=T;if(x){const S=T.indexOf(":");S!==-1&&(T=T.substr(S+1),I=T!==N.data.substr(S+1))}return{tagName:T,tagExp:O,closeIndex:$,attrExpPresent:I,rawTagName:C}}function y(b,A,x){const N=x;let O=1;for(;x",x,"".concat(A," is not closed"));if(b.substring(x+2,$).trim()===A&&(O--,O===0))return{tagContent:b.substring(N,x),i:$};x=$}else if(b[x+1]==="?")x=E(b,"?>",x+1,"StopNode is not closed.");else if(b.substr(x+1,3)==="!--")x=E(b,"-->",x+3,"StopNode is not closed.");else if(b.substr(x+1,2)==="![")x=E(b,"]]>",x,"StopNode is not closed.")-2;else{const $=m(b,x,">");$&&(($&&$.tagName)===A&&$.tagExp[$.tagExp.length-1]!=="/"&&O++,x=$.closeIndex)}}function w(b,A,x){if(A&&typeof b=="string"){const N=b.trim();return N==="true"||N!=="false"&&u(b,x)}return r.isExist(b)?b:""}t.exports=class{constructor(b){this.options=b,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(A,x)=>String.fromCharCode(Number.parseInt(x,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(A,x)=>String.fromCharCode(Number.parseInt(x,16))}},this.addExternalEntities=a,this.parseXml=h,this.parseTextData=c,this.resolveNameSpace=o,this.buildAttributesMap=p,this.isItStopNode=v,this.replaceEntitiesValue=d,this.readStopNodeData=y,this.saveTextToParentTag=g,this.addChild=f}}},338:(t,e,n)=>{const{buildOptions:r}=n(63),i=n(299),{prettify:s}=n(728),u=n(31);t.exports=class{constructor(a){this.externalEntities={},this.options=r(a)}parse(a,c){if(typeof a!="string"){if(!a.toString)throw new Error("XML data is accepted in String or Bytes[] form.");a=a.toString()}if(c){c===!0&&(c={});const p=u.validate(a,c);if(p!==!0)throw Error("".concat(p.err.msg,":").concat(p.err.line,":").concat(p.err.col))}const o=new i(this.options);o.addExternalEntities(this.externalEntities);const l=o.parseXml(a);return this.options.preserveOrder||l===void 0?l:s(l,this.options)}addEntity(a,c){if(c.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(a.indexOf("&")!==-1||a.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(c==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[a]=c}}},728:(t,e)=>{function n(u,a,c){let o;const l={};for(let p=0;p0&&(l[a.textNodeName]=o):o!==void 0&&(l[a.textNodeName]=o),l}function r(u){const a=Object.keys(u);for(let c=0;c{t.exports=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}},135:t=>{function e(n){return!!n.constructor&&typeof n.constructor.isBuffer=="function"&&n.constructor.isBuffer(n)}t.exports=function(n){return n!=null&&(e(n)||function(r){return typeof r.readFloatLE=="function"&&typeof r.slice=="function"&&e(r.slice(0,0))}(n)||!!n._isBuffer)}},542:(t,e,n)=>{(function(){var r=n(298),i=n(526).utf8,s=n(135),u=n(526).bin,a=function(c,o){c.constructor==String?c=o&&o.encoding==="binary"?u.stringToBytes(c):i.stringToBytes(c):s(c)?c=Array.prototype.slice.call(c,0):Array.isArray(c)||c.constructor===Uint8Array||(c=c.toString());for(var l=r.bytesToWords(c),p=8*c.length,h=1732584193,f=-271733879,d=-1732584194,g=271733878,v=0;v>>24)|4278255360&(l[v]<<24|l[v]>>>8);l[p>>>5]|=128<>>9<<4)]=p;var E=a._ff,m=a._gg,y=a._hh,w=a._ii;for(v=0;v>>0,f=f+A>>>0,d=d+x>>>0,g=g+N>>>0}return r.endian([h,f,d,g])};a._ff=function(c,o,l,p,h,f,d){var g=c+(o&l|~o&p)+(h>>>0)+d;return(g<>>32-f)+o},a._gg=function(c,o,l,p,h,f,d){var g=c+(o&p|l&~p)+(h>>>0)+d;return(g<>>32-f)+o},a._hh=function(c,o,l,p,h,f,d){var g=c+(o^l^p)+(h>>>0)+d;return(g<>>32-f)+o},a._ii=function(c,o,l,p,h,f,d){var g=c+(l^(o|~p))+(h>>>0)+d;return(g<>>32-f)+o},a._blocksize=16,a._digestsize=16,t.exports=function(c,o){if(c==null)throw new Error("Illegal argument "+c);var l=r.wordsToBytes(a(c,o));return o&&o.asBytes?l:o&&o.asString?u.bytesToString(l):r.bytesToHex(l)}})()},285:(t,e,n)=>{var r=n(2);t.exports=function(E){return E?(E.substr(0,2)==="{}"&&(E="\\{\\}"+E.substr(2)),v(function(m){return m.split("\\\\").join(i).split("\\{").join(s).split("\\}").join(u).split("\\,").join(a).split("\\.").join(c)}(E),!0).map(l)):[]};var i="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",u="\0CLOSE"+Math.random()+"\0",a="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function o(E){return parseInt(E,10)==E?parseInt(E,10):E.charCodeAt(0)}function l(E){return E.split(i).join("\\").split(s).join("{").split(u).join("}").split(a).join(",").split(c).join(".")}function p(E){if(!E)return[""];var m=[],y=r("{","}",E);if(!y)return E.split(",");var w=y.pre,b=y.body,A=y.post,x=w.split(",");x[x.length-1]+="{"+b+"}";var N=p(A);return A.length&&(x[x.length-1]+=N.shift(),x.push.apply(x,N)),m.push.apply(m,x),m}function h(E){return"{"+E+"}"}function f(E){return/^-?0\d/.test(E)}function d(E,m){return E<=m}function g(E,m){return E>=m}function v(E,m){var y=[],w=r("{","}",E);if(!w)return[E];var b=w.pre,A=w.post.length?v(w.post,!1):[""];if(/\$$/.test(w.pre))for(var x=0;x=0;if(!I&&!C)return w.post.match(/,.*\}/)?v(E=w.pre+"{"+w.body+u+w.post):[E];if(I)O=w.body.split(/\.\./);else if((O=p(w.body)).length===1&&(O=v(O[0],!1).map(h)).length===1)return A.map(function(Cr){return w.pre+O[0]+Cr});if(I){var S=o(O[0]),dt=o(O[1]),B=Math.max(O[0].length,O[1].length),_=O.length==3?Math.abs(o(O[2])):1,at=d;dt0){var un=new Array(an+1).join("0");wt=q<0?"-"+un+wt.slice(1):un+wt}}$.push(wt)}}else{$=[];for(var $t=0;$t{function e(o){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},e(o)}function n(o){var l=typeof Map=="function"?new Map:void 0;return n=function(p){if(p===null||(h=p,Function.toString.call(h).indexOf("[native code]")===-1))return p;var h;if(typeof p!="function")throw new TypeError("Super expression must either be null or a function");if(l!==void 0){if(l.has(p))return l.get(p);l.set(p,f)}function f(){return r(p,arguments,s(this).constructor)}return f.prototype=Object.create(p.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}),i(f,p)},n(o)}function r(o,l,p){return r=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(h){return!1}}()?Reflect.construct:function(h,f,d){var g=[null];g.push.apply(g,f);var v=new(Function.bind.apply(h,g));return d&&i(v,d.prototype),v},r.apply(null,arguments)}function i(o,l){return i=Object.setPrototypeOf||function(p,h){return p.__proto__=h,p},i(o,l)}function s(o){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(l){return l.__proto__||Object.getPrototypeOf(l)},s(o)}var u=function(o){function l(p){var h;return function(f,d){if(!(f instanceof d))throw new TypeError("Cannot call a class as a function")}(this,l),(h=function(f,d){return!d||e(d)!=="object"&&typeof d!="function"?function(g){if(g===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g}(f):d}(this,s(l).call(this,p))).name="ObjectPrototypeMutationError",h}return function(p,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");p.prototype=Object.create(h&&h.prototype,{constructor:{value:p,writable:!0,configurable:!0}}),h&&i(p,h)}(l,o),l}(n(Error));function a(o,l){for(var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},h=l.split("."),f=h.length,d=function(E){var m=h[E];if(!o)return{v:void 0};if(m==="+"){if(Array.isArray(o))return{v:o.map(function(w,b){var A=h.slice(E+1);return A.length>0?a(w,A.join("."),p):p(o,b,h,E)})};var y=h.slice(0,E).join(".");throw new Error("Object at wildcard (".concat(y,") is not an array"))}o=p(o,m,h,E)},g=0;g2&&arguments[2]!==void 0?arguments[2]:{};if(e(o)!="object"||o===null||l===void 0)return!1;if(typeof l=="number")return l in o;try{var h=!1;return a(o,l,function(f,d,g,v){if(!c(g,v))return f&&f[d];h=p.own?f.hasOwnProperty(d):d in f}),h}catch(f){return!1}},hasOwn:function(o,l,p){return this.has(o,l,p||{own:!0})},isIn:function(o,l,p){var h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(e(o)!="object"||o===null||l===void 0)return!1;try{var f=!1,d=!1;return a(o,l,function(g,v,E,m){return f=f||g===p||!!g&&g[v]===p,d=c(E,m)&&e(g)==="object"&&v in g,g&&g[v]}),h.validPath?f&&d:f}catch(g){return!1}},ObjectPrototypeMutationError:u}},47:(t,e,n)=>{var r=n(410),i=function(o){return typeof o=="string"};function s(o,l){for(var p=[],h=0;h=-1&&!l;p--){var h=p>=0?arguments[p]:Vt.cwd();if(!i(h))throw new TypeError("Arguments to path.resolve must be strings");h&&(o=h+"/"+o,l=h.charAt(0)==="/")}return(l?"/":"")+(o=s(o.split("/"),!l).join("/"))||"."},a.normalize=function(o){var l=a.isAbsolute(o),p=o.substr(-1)==="/";return(o=s(o.split("/"),!l).join("/"))||l||(o="."),o&&p&&(o+="/"),(l?"/":"")+o},a.isAbsolute=function(o){return o.charAt(0)==="/"},a.join=function(){for(var o="",l=0;l=0&&m[w]==="";w--);return y>w?[]:m.slice(y,w+1)}o=a.resolve(o).substr(1),l=a.resolve(l).substr(1);for(var h=p(o.split("/")),f=p(l.split("/")),d=Math.min(h.length,f.length),g=d,v=0;v{var n=Object.prototype.hasOwnProperty;function r(s){try{return decodeURIComponent(s.replace(/\+/g," "))}catch(u){return null}}function i(s){try{return encodeURIComponent(s)}catch(u){return null}}e.stringify=function(s,u){u=u||"";var a,c,o=[];for(c in typeof u!="string"&&(u="?"),s)if(n.call(s,c)){if((a=s[c])||a!=null&&!isNaN(a)||(a=""),c=i(c),a=i(a),c===null||a===null)continue;o.push(c+"="+a)}return o.length?u+o.join("&"):""},e.parse=function(s){for(var u,a=/([^=?#&]+)=?([^&]*)/g,c={};u=a.exec(s);){var o=r(u[1]),l=r(u[2]);o===null||l===null||o in c||(c[o]=l)}return c}},670:t=>{t.exports=function(e,n){if(n=n.split(":")[0],!(e=+e))return!1;switch(n){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}},494:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const r={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(i){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(s=Object.assign({},r,s),!i||typeof i!="string")return i;let u=i.trim();if(s.skipLike!==void 0&&s.skipLike.test(u))return i;if(s.hex&&e.test(u))return Number.parseInt(u,16);{const c=n.exec(u);if(c){const o=c[1],l=c[2];let p=((a=c[3])&&a.indexOf(".")!==-1&&((a=a.replace(/0+$/,""))==="."?a="0":a[0]==="."?a="0"+a:a[a.length-1]==="."&&(a=a.substr(0,a.length-1))),a);const h=c[4]||c[6];if(!s.leadingZeros&&l.length>0&&o&&u[2]!=="."||!s.leadingZeros&&l.length>0&&!o&&u[1]!==".")return i;{const f=Number(u),d=""+f;return d.search(/[eE]/)!==-1||h?s.eNotation?f:i:u.indexOf(".")!==-1?d==="0"&&p===""||d===p||o&&d==="-"+p?f:i:l?p===d||o+p===d?f:i:u===d||u===o+d?f:i}}return i}var a}},737:(t,e,n)=>{var r=n(670),i=n(647),s=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,u=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,o=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,l=/^[a-zA-Z]:/;function p(m){return(m||"").toString().replace(s,"")}var h=[["#","hash"],["?","query"],function(m,y){return g(y.protocol)?m.replace(/\\/g,"/"):m},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],f={hash:1,query:1};function d(m){var y,w=(typeof window<"u"?window:typeof Zt<"u"?Zt:typeof self<"u"?self:{}).location||{},b={},A=typeof(m=m||w);if(m.protocol==="blob:")b=new E(unescape(m.pathname),{});else if(A==="string")for(y in b=new E(m,{}),f)delete b[y];else if(A==="object"){for(y in m)y in f||(b[y]=m[y]);b.slashes===void 0&&(b.slashes=a.test(m.href))}return b}function g(m){return m==="file:"||m==="ftp:"||m==="http:"||m==="https:"||m==="ws:"||m==="wss:"}function v(m,y){m=(m=p(m)).replace(u,""),y=y||{};var w,b=o.exec(m),A=b[1]?b[1].toLowerCase():"",x=!!b[2],N=!!b[3],O=0;return x?N?(w=b[2]+b[3]+b[4],O=b[2].length+b[3].length):(w=b[2]+b[4],O=b[2].length):N?(w=b[3]+b[4],O=b[3].length):w=b[4],A==="file:"?O>=2&&(w=w.slice(2)):g(A)?w=b[4]:A?x&&(w=w.slice(2)):O>=2&&g(y.protocol)&&(w=b[4]),{protocol:A,slashes:x||g(A),slashesCount:O,rest:w}}function E(m,y,w){if(m=(m=p(m)).replace(u,""),!(this instanceof E))return new E(m,y,w);var b,A,x,N,O,$,R=h.slice(),T=typeof y,I=this,C=0;for(T!=="object"&&T!=="string"&&(w=y,y=null),w&&typeof w!="function"&&(w=i.parse),b=!(A=v(m||"",y=d(y))).protocol&&!A.slashes,I.slashes=A.slashes||b&&y.slashes,I.protocol=A.protocol||y.protocol||"",m=A.rest,(A.protocol==="file:"&&(A.slashesCount!==2||l.test(m))||!A.slashes&&(A.protocol||A.slashesCount<2||!g(I.protocol)))&&(R[3]=[/(.*)/,"pathname"]);C{},388:()=>{},805:()=>{},345:()=>{},800:()=>{}},pn={};function L(t){var e=pn[t];if(e!==void 0)return e.exports;var n=pn[t]={id:t,loaded:!1,exports:{}};return Qr[t].call(n.exports,n,n.exports,L),n.loaded=!0,n.exports}L.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return L.d(e,{a:e}),e},L.d=(t,e)=>{for(var n in e)L.o(e,n)&&!L.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},L.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),L.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var ht={};L.d(ht,{hT:()=>nt,O4:()=>Et,Kd:()=>ui,YK:()=>li,UU:()=>gs,Gu:()=>Qn,ky:()=>cr,h4:()=>Kt,ch:()=>pe,hq:()=>Lt,i5:()=>hr});var ti=L(737),ei=L.n(ti);function Ee(t){if(!Ce(t))throw new Error("Parameter was not an error")}function Ce(t){return!!t&&typeof t=="object"&&(e=t,Object.prototype.toString.call(e)==="[object Error]")||t instanceof Error;var e}class it extends Error{constructor(e,n){const r=[...arguments],{options:i,shortMessage:s}=function(a){let c,o="";if(a.length===0)c={};else if(Ce(a[0]))c={cause:a[0]},o=a.slice(1).join(" ")||"";else if(a[0]&&typeof a[0]=="object")c=Object.assign({},a[0]),o=a.slice(1).join(" ")||"";else{if(typeof a[0]!="string")throw new Error("Invalid arguments passed to Layerr");c={},o=o=a.join(" ")||""}return{options:c,shortMessage:o}}(r);let u=s;if(i.cause&&(u="".concat(u,": ").concat(i.cause.message)),super(u),this.message=u,i.name&&typeof i.name=="string"?this.name=i.name:this.name="Layerr",i.cause&&Object.defineProperty(this,"_cause",{value:i.cause}),Object.defineProperty(this,"_info",{value:{}}),i.info&&typeof i.info=="object"&&Object.assign(this._info,i.info),Error.captureStackTrace){const a=i.constructorOpt||this.constructor;Error.captureStackTrace(this,a)}}static cause(e){return Ee(e),e._cause&&Ce(e._cause)?e._cause:null}static fullStack(e){var r;Ee(e);const n=it.cause(e);return n?"".concat(e.stack,"\ncaused by: ").concat(it.fullStack(n)):(r=e.stack)!=null?r:""}static info(e){Ee(e);const n={},r=it.cause(e);return r&&Object.assign(n,it.info(r)),e._info&&Object.assign(n,e._info),n}toString(){let e=this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e="".concat(e,": ").concat(this.message)),e}}var ni=L(47),re=L.n(ni);const fn="__PATH_SEPARATOR_POSIX__",dn="__PATH_SEPARATOR_WINDOWS__";function D(t){try{const e=t.replace(/\//g,fn).replace(/\\\\/g,dn);return encodeURIComponent(e).split(dn).join("\\\\").split(fn).join("/")}catch(e){throw new it(e,"Failed encoding path")}}function gn(t){return t.startsWith("/")?t:"/"+t}function Xt(t){let e=t;return e[0]!=="/"&&(e="/"+e),/^.+\/$/.test(e)&&(e=e.substr(0,e.length-1)),e}function ri(t){let e=new(ei())(t).pathname;return e.length<=0&&(e="/"),Xt(e)}function k(){for(var t=arguments.length,e=new Array(t),n=0;n1){var s=r.shift();r[0]=s+r[0]}r[0].match(/^file:\/\/\//)?r[0]=r[0].replace(/^([^/:]+):\/*/,"$1:///"):r[0]=r[0].replace(/^([^/:]+):\/*/,"$1://");for(var u=0;u0&&(a=a.replace(/^[\/]+/,"")),a=u0?"?":"")+o.join("&")}(typeof arguments[0]=="object"?arguments[0]:[].slice.call(arguments))}(e.reduce((r,i,s)=>((s===0||i!=="/"||i==="/"&&r[r.length-1]!=="/")&&r.push(i),r),[]))}var ii=L(542),Dt=L.n(ii);const si="abcdef0123456789";function mn(t,e){const n=t.url.replace("//",""),r=n.indexOf("/")==-1?"/":n.slice(n.indexOf("/")),i=t.method?t.method.toUpperCase():"GET",s=!!/(^|,)\s*auth\s*($|,)/.test(e.qop)&&"auth",u="00000000".concat(e.nc).slice(-8),a=function(h,f,d,g,v,E,m){const y=m||Dt()("".concat(f,":").concat(d,":").concat(g));return h&&h.toLowerCase()==="md5-sess"?Dt()("".concat(y,":").concat(v,":").concat(E)):y}(e.algorithm,e.username,e.realm,e.password,e.nonce,e.cnonce,e.ha1),c=Dt()("".concat(i,":").concat(r)),o=s?Dt()("".concat(a,":").concat(e.nonce,":").concat(u,":").concat(e.cnonce,":").concat(s,":").concat(c)):Dt()("".concat(a,":").concat(e.nonce,":").concat(c)),l={username:e.username,realm:e.realm,nonce:e.nonce,uri:r,qop:s,response:o,nc:u,cnonce:e.cnonce,algorithm:e.algorithm,opaque:e.opaque},p=[];for(const h in l)l[h]&&(h==="qop"||h==="nc"||h==="algorithm"?p.push("".concat(h,"=").concat(l[h])):p.push("".concat(h,'="').concat(l[h],'"')));return"Digest ".concat(p.join(", "))}function Zn(t){return(t.headers&&t.headers.get("www-authenticate")||"").split(/\s/)[0].toLowerCase()==="digest"}var oi=L(101),Yn=L.n(oi);function vn(t){return Yn().decode(t)}function yn(t,e){var n;return"Basic ".concat((n="".concat(t,":").concat(e),Yn().encode(n)))}const ie=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:typeof window<"u"?window:globalThis,ai=ie.fetch.bind(ie),ui=ie.Request,li=ie.Response;let nt=function(t){return t.Auto="auto",t.Digest="digest",t.None="none",t.Password="password",t.Token="token",t}({}),Et=function(t){return t.DataTypeNoLength="data-type-no-length",t.InvalidAuthType="invalid-auth-type",t.InvalidOutputFormat="invalid-output-format",t.LinkUnsupportedAuthType="link-unsupported-auth",t.InvalidUpdateRange="invalid-update-range",t.NotSupported="not-supported",t}({});function Jn(t,e,n,r,i){switch(t.authType){case nt.Auto:e&&n&&(t.headers.Authorization=yn(e,n));break;case nt.Digest:t.digest=function(u,a,c){return{username:u,password:a,ha1:c,nc:0,algorithm:"md5",hasDigestAuth:!1}}(e,n,i);break;case nt.None:break;case nt.Password:t.headers.Authorization=yn(e,n);break;case nt.Token:t.headers.Authorization="".concat((s=r).token_type," ").concat(s.access_token);break;default:throw new it({info:{code:Et.InvalidAuthType}},"Invalid auth type: ".concat(t.authType))}var s}L(345),L(800);const bn="@@HOTPATCHER",ci=()=>{};function we(t){return{original:t,methods:[t],final:!1}}class hi{constructor(){this._configuration={registry:{},getEmptyAction:"null"},this.__type__=bn}get configuration(){return this._configuration}get getEmptyAction(){return this.configuration.getEmptyAction}set getEmptyAction(e){this.configuration.getEmptyAction=e}control(e){let n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!e||e.__type__!==bn)throw new Error("Failed taking control of target HotPatcher instance: Invalid type or object");return Object.keys(e.configuration.registry).forEach(r=>{this.configuration.registry.hasOwnProperty(r)?n&&(this.configuration.registry[r]=Object.assign({},e.configuration.registry[r])):this.configuration.registry[r]=Object.assign({},e.configuration.registry[r])}),e._configuration=this.configuration,this}execute(e){const n=this.get(e)||ci;for(var r=arguments.length,i=new Array(r>1?r-1:0),s=1;s0;)o=[i.shift().apply(l,o)];return o[0]}}(...n.methods)}isPatched(e){return!!this.configuration.registry[e]}patch(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{chain:i=!1}=r;if(this.configuration.registry[e]&&this.configuration.registry[e].final)throw new Error("Failed patching '".concat(e,"': Method marked as being final"));if(typeof n!="function")throw new Error("Failed patching '".concat(e,"': Provided method is not a function"));if(i)this.configuration.registry[e]?this.configuration.registry[e].methods.push(n):this.configuration.registry[e]=we(n);else if(this.isPatched(e)){const{original:s}=this.configuration.registry[e];this.configuration.registry[e]=Object.assign(we(n),{original:s})}else this.configuration.registry[e]=we(n);return this}patchInline(e,n){this.isPatched(e)||this.patch(e,n);for(var r=arguments.length,i=new Array(r>2?r-2:0),s=2;s1?n-1:0),i=1;i{this.patch(e,s,{chain:!0})}),this}restore(e){if(!this.isPatched(e))throw new Error("Failed restoring method: No method present for key: ".concat(e));if(typeof this.configuration.registry[e].original!="function")throw new Error("Failed restoring method: Original method not found or of invalid type for key: ".concat(e));return this.configuration.registry[e].methods=[this.configuration.registry[e].original],this}setFinal(e){if(!this.configuration.registry.hasOwnProperty(e))throw new Error("Failed marking '".concat(e,"' as final: No method found for key"));return this.configuration.registry[e].final=!0,this}}let xe=null;function Qn(){return xe||(xe=new hi),xe}function se(t){return function(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let n=e;for(;Object.getPrototypeOf(n)!==null;)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}(t)?Object.assign({},t):Object.setPrototypeOf(Object.assign({},t),Object.getPrototypeOf(t))}function En(){for(var t=arguments.length,e=new Array(t),n=0;n0;){const s=i.shift();r=r?tr(r,s):se(s)}return r}function tr(t,e){const n=se(t);return Object.keys(e).forEach(r=>{n.hasOwnProperty(r)?Array.isArray(e[r])?n[r]=Array.isArray(n[r])?[...n[r],...e[r]]:[...e[r]]:typeof e[r]=="object"&&e[r]?n[r]=typeof n[r]=="object"&&n[r]?tr(n[r],e[r]):se(e[r]):n[r]=e[r]:n[r]=e[r]}),n}function pi(t){const e={};for(const n of t.keys())e[n]=t.get(n);return e}function Se(){for(var t=arguments.length,e=new Array(t),n=0;n(Object.keys(s).forEach(u=>{const a=u.toLowerCase();r.hasOwnProperty(a)?i[r[a]]=s[u]:(r[a]=u,i[u]=s[u])}),i),{})}L(805);const fi=typeof ArrayBuffer=="function",{toString:di}=Object.prototype;function er(t){return fi&&(t instanceof ArrayBuffer||di.call(t)==="[object ArrayBuffer]")}function nr(t){return t!=null&&t.constructor!=null&&typeof t.constructor.isBuffer=="function"&&t.constructor.isBuffer(t)}function Ge(t){return function(){for(var e=[],n=0;ne.patchInline("fetch",ai,n.url,function(r){let i={};const s={method:r.method};if(r.headers&&(i=Se(i,r.headers)),r.data!==void 0){const[u,a]=function(c){if(typeof c=="string")return[c,{}];if(nr(c))return[c,{}];if(er(c))return[c,{}];if(c&&typeof c=="object")return[JSON.stringify(c),{"content-type":"application/json"}];throw new Error("Unable to convert request body: Unexpected body type: "+typeof c)}(r.data);s.body=u,i=Se(i,a)}return r.signal&&(s.signal=r.signal),r.withCredentials&&(s.credentials="include"),s.headers=i,s}(n)),t)}var mi=L(285);const ae=t=>{if(typeof t!="string")throw new TypeError("invalid pattern");if(t.length>65536)throw new TypeError("pattern is too long")},vi={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},kt=t=>t.replace(/[[\]\\-]/g,"\\$&"),wn=t=>t.join(""),yi=(t,e)=>{const n=e;if(t.charAt(n)!=="[")throw new Error("not in a brace expression");const r=[],i=[];let s=n+1,u=!1,a=!1,c=!1,o=!1,l=n,p="";t:for(;sp?r.push(kt(p)+"-"+kt(g)):g===p&&r.push(kt(g)),p="",s++):t.startsWith("-]",s+1)?(r.push(kt(g+"-")),s+=2):t.startsWith("-",s+1)?(p=g,s+=2):(r.push(kt(g)),s++)}else c=!0,s++}else o=!0,s++}if(l1&&arguments[1]!==void 0?arguments[1]:{};return e?t.replace(/\[([^\/\\])\]/g,"$1"):t.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1")},bi=new Set(["!","?","+","*","@"]),xn=t=>bi.has(t),Ne="(?!\\.)",Ei=new Set(["[","."]),wi=new Set(["..","."]),xi=new Set("().*{}+?[]^$\\!"),Ve="[^/]",Nn=Ve+"*?",An=Ve+"+?";var V,H,yt,F,G,Ot,Ct,It,mt,St,qt,_t,ir,Tt,te,Le,sr;const et=class et{constructor(e,n){ot(this,_t);j(this,"type");ot(this,V);ot(this,H);ot(this,yt,!1);ot(this,F,[]);ot(this,G);ot(this,Ot);ot(this,Ct);ot(this,It,!1);ot(this,mt);ot(this,St);ot(this,qt,!1);let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.type=e,e&&M(this,H,!0),M(this,G,n),M(this,V,P(this,G)?P(P(this,G),V):this),M(this,mt,P(this,V)===this?r:P(P(this,V),mt)),M(this,Ct,P(this,V)===this?[]:P(P(this,V),Ct)),e!=="!"||P(P(this,V),It)||P(this,Ct).push(this),M(this,Ot,P(this,G)?P(P(this,G),F).length:0)}get hasMagic(){if(P(this,H)!==void 0)return P(this,H);for(const e of P(this,F))if(typeof e!="string"&&(e.type||e.hasMagic))return M(this,H,!0);return P(this,H)}toString(){return P(this,St)!==void 0?P(this,St):this.type?M(this,St,this.type+"("+P(this,F).map(e=>String(e)).join("|")+")"):M(this,St,P(this,F).map(e=>String(e)).join(""))}push(){for(var e=arguments.length,n=new Array(e),r=0;rtypeof r=="string"?r:r.toJSON()):[this.type,...P(this,F).map(r=>r.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===P(this,V)||P(P(this,V),It)&&((n=P(this,G))==null?void 0:n.type)==="!")&&e.push({}),e}isStart(){var n;if(P(this,V)===this)return!0;if(!((n=P(this,G))!=null&&n.isStart()))return!1;if(P(this,Ot)===0)return!0;const e=P(this,G);for(let r=0;r1&&arguments[1]!==void 0?arguments[1]:{};const r=new et(null,void 0,n);return xt(i=et,Tt,te).call(i,e,r,0,n),r}toMMPattern(){if(this!==P(this,V))return P(this,V).toMMPattern();const e=this.toString(),[n,r,i,s]=this.toRegExpSource();if(!(i||P(this,H)||P(this,mt).nocase&&!P(this,mt).nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return r;const u=(P(this,mt).nocase?"i":"")+(s?"u":"");return Object.assign(new RegExp("^".concat(n,"$"),u),{_src:n,_glob:e})}get options(){return P(this,mt)}toRegExpSource(e){var c;const n=e!=null?e:!!P(this,mt).dot;if(P(this,V)===this&&xt(this,_t,ir).call(this),!this.type){const o=this.isStart()&&this.isEnd(),l=P(this,F).map(f=>{var m;const[d,g,v,E]=typeof f=="string"?xt(m=et,Tt,sr).call(m,f,P(this,H),o):f.toRegExpSource(e);return M(this,H,P(this,H)||v),M(this,yt,P(this,yt)||E),d}).join("");let p="";if(this.isStart()&&typeof P(this,F)[0]=="string"&&(P(this,F).length!==1||!wi.has(P(this,F)[0]))){const f=Ei,d=n&&f.has(l.charAt(0))||l.startsWith("\\.")&&f.has(l.charAt(2))||l.startsWith("\\.\\.")&&f.has(l.charAt(4)),g=!n&&!e&&f.has(l.charAt(0));p=d?"(?!(?:^|/)\\.\\.?(?:$|/))":g?Ne:""}let h="";return this.isEnd()&&P(P(this,V),It)&&((c=P(this,G))==null?void 0:c.type)==="!"&&(h="(?:$|\\/)"),[p+l+h,Gt(l),M(this,H,!!P(this,H)),P(this,yt)]}const r=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:";let s=xt(this,_t,Le).call(this,n);if(this.isStart()&&this.isEnd()&&!s&&this.type!=="!"){const o=this.toString();return M(this,F,[o]),this.type=null,M(this,H,void 0),[o,Gt(this.toString()),!1,!1]}let u=!r||e||n?"":xt(this,_t,Le).call(this,!0);u===s&&(u=""),u&&(s="(?:".concat(s,")(?:").concat(u,")*?"));let a="";return a=this.type==="!"&&P(this,qt)?(this.isStart()&&!n?Ne:"")+An:i+s+(this.type==="!"?"))"+(!this.isStart()||n||e?"":Ne)+Nn+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&u?")":this.type==="*"&&u?")?":")".concat(this.type)),[a,Gt(s),M(this,H,!!P(this,H)),P(this,yt)]}};V=new WeakMap,H=new WeakMap,yt=new WeakMap,F=new WeakMap,G=new WeakMap,Ot=new WeakMap,Ct=new WeakMap,It=new WeakMap,mt=new WeakMap,St=new WeakMap,qt=new WeakMap,_t=new WeakSet,ir=function(){if(this!==P(this,V))throw new Error("should only call on root");if(P(this,It))return this;let e;for(this.toString(),M(this,It,!0);e=P(this,Ct).pop();){if(e.type!=="!")continue;let n=e,r=P(n,G);for(;r;){for(let i=P(n,Ot)+1;!r.type&&i{if(typeof n=="string")throw new Error("string type in extglob ast??");const[r,i,s,u]=n.toRegExpSource(e);return M(this,yt,P(this,yt)||u),r}).filter(n=>!(this.isStart()&&this.isEnd()&&!n)).join("|")},sr=function(e,n){let r=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=!1,s="",u=!1;for(let a=0;a2&&arguments[2]!==void 0?arguments[2]:{};return ae(e),!(!n.nocomment&&e.charAt(0)==="#")&&new le(e,n).match(t)},Ni=/^\*+([^+@!?\*\[\(]*)$/,Ai=t=>e=>!e.startsWith(".")&&e.endsWith(t),Oi=t=>e=>e.endsWith(t),Ii=t=>(t=t.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(t)),Pi=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),Ti=/^\*+\.\*+$/,$i=t=>!t.startsWith(".")&&t.includes("."),Ri=t=>t!=="."&&t!==".."&&t.includes("."),Ci=/^\.\*+$/,Si=t=>t!=="."&&t!==".."&&t.startsWith("."),_i=/^\*+$/,Li=t=>t.length!==0&&!t.startsWith("."),ji=t=>t.length!==0&&t!=="."&&t!=="..",Fi=/^\?+([^+@!?\*\[\(]*)?$/,Di=t=>{let[e,n=""]=t;const r=or([e]);return n?(n=n.toLowerCase(),i=>r(i)&&i.toLowerCase().endsWith(n)):r},ki=t=>{let[e,n=""]=t;const r=ar([e]);return n?(n=n.toLowerCase(),i=>r(i)&&i.toLowerCase().endsWith(n)):r},Mi=t=>{let[e,n=""]=t;const r=ar([e]);return n?i=>r(i)&&i.endsWith(n):r},Ui=t=>{let[e,n=""]=t;const r=or([e]);return n?i=>r(i)&&i.endsWith(n):r},or=t=>{let[e]=t;const n=e.length;return r=>r.length===n&&!r.startsWith(".")},ar=t=>{let[e]=t;const n=e.length;return r=>r.length===n&&r!=="."&&r!==".."},ur=typeof Vt=="object"&&Vt?typeof be=="object"&&be&&be.__MINIMATCH_TESTING_PLATFORM__||Vt.platform:"posix";J.sep=ur==="win32"?"\\":"/";const lt=Symbol("globstar **");J.GLOBSTAR=lt,J.filter=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return n=>J(n,t,e)};const ut=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.assign({},t,e)};J.defaults=t=>{if(!t||typeof t!="object"||!Object.keys(t).length)return J;const e=J;return Object.assign(function(n,r){return e(n,r,ut(t,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{}))},{Minimatch:class extends e.Minimatch{constructor(n){super(n,ut(t,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}))}static defaults(n){return e.defaults(ut(t,n)).Minimatch}},AST:class extends e.AST{constructor(n,r){super(n,r,ut(t,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{}))}static fromGlob(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.AST.fromGlob(n,ut(t,r))}},unescape:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.unescape(n,ut(t,r))},escape:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.escape(n,ut(t,r))},filter:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.filter(n,ut(t,r))},defaults:n=>e.defaults(ut(t,n)),makeRe:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.makeRe(n,ut(t,r))},braceExpand:function(n){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.braceExpand(n,ut(t,r))},match:function(n,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return e.match(n,r,ut(t,i))},sep:e.sep,GLOBSTAR:lt})};const lr=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ae(t),e.nobrace||!/\{(?:(?!\{).)*\}/.test(t)?[t]:mi(t)};J.braceExpand=lr,J.makeRe=function(t){return new le(t,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).makeRe()},J.match=function(t,e){const n=new le(e,arguments.length>2&&arguments[2]!==void 0?arguments[2]:{});return t=t.filter(r=>n.match(r)),n.options.nonull&&!t.length&&t.push(e),t};const On=/[?*]|[+@!]\(.*?\)|\[|\]/;class le{constructor(e){j(this,"options");j(this,"set");j(this,"pattern");j(this,"windowsPathsNoEscape");j(this,"nonegate");j(this,"negate");j(this,"comment");j(this,"empty");j(this,"preserveMultipleSlashes");j(this,"partial");j(this,"globSet");j(this,"globParts");j(this,"nocase");j(this,"isWindows");j(this,"platform");j(this,"windowsNoMagicRoot");j(this,"regexp");let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};ae(e),n=n||{},this.options=n,this.pattern=e,this.platform=n.platform||ur,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!n.windowsPathsNoEscape||n.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!n.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!n.nonegate,this.comment=!1,this.empty=!1,this.partial=!!n.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=n.windowsNoMagicRoot!==void 0?n.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const e of this.set)for(const n of e)if(typeof n!="string")return!0;return!1}debug(){}make(){const e=this.pattern,n=this.options;if(!n.nocomment&&e.charAt(0)==="#")return void(this.comment=!0);if(!e)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],n.debug&&(this.debug=function(){return console.error(...arguments)}),this.debug(this.pattern,this.globSet);const r=this.globSet.map(s=>this.slashSplit(s));this.globParts=this.preprocess(r),this.debug(this.pattern,this.globParts);let i=this.globParts.map((s,u,a)=>{if(this.isWindows&&this.windowsNoMagicRoot){const c=!(s[0]!==""||s[1]!==""||s[2]!=="?"&&On.test(s[2])||On.test(s[3])),o=/^[a-z]:/i.test(s[0]);if(c)return[...s.slice(0,4),...s.slice(4).map(l=>this.parse(l))];if(o)return[s[0],...s.slice(1).map(l=>this.parse(l))]}return s.map(c=>this.parse(c))});if(this.debug(this.pattern,i),this.set=i.filter(s=>s.indexOf(!1)===-1),this.isWindows)for(let s=0;s=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):e=n>=1?this.levelOneOptimize(e):this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(n=>{let r=-1;for(;(r=n.indexOf("**",r+1))!==-1;){let i=r;for(;n[i+1]==="**";)i++;i!==r&&n.splice(r,i-r)}return n})}levelOneOptimize(e){return e.map(n=>(n=n.reduce((r,i)=>{const s=r[r.length-1];return i==="**"&&s==="**"?r:i===".."&&s&&s!==".."&&s!=="."&&s!=="**"?(r.pop(),r):(r.push(i),r)},[])).length===0?[""]:n)}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let n=!1;do{if(n=!1,!this.preserveMultipleSlashes){for(let i=1;ii&&r.splice(i+1,u-i);let a=r[i+1];const c=r[i+2],o=r[i+3];if(a!==".."||!c||c==="."||c===".."||!o||o==="."||o==="..")continue;n=!0,r.splice(i,1);const l=r.slice(0);l[i]="**",e.push(l),i--}if(!this.preserveMultipleSlashes){for(let u=1;un.length)}partsMatch(e,n){let r=arguments.length>2&&arguments[2]!==void 0&&arguments[2],i=0,s=0,u=[],a="";for(;i2&&arguments[2]!==void 0&&arguments[2];const i=this.options;if(this.isWindows){const g=typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0]),v=!g&&e[0]===""&&e[1]===""&&e[2]==="?"&&/^[a-z]:$/i.test(e[3]),E=typeof n[0]=="string"&&/^[a-z]:$/i.test(n[0]),m=v?3:g?0:void 0,y=!E&&n[0]===""&&n[1]===""&&n[2]==="?"&&typeof n[3]=="string"&&/^[a-z]:$/i.test(n[3])?3:E?0:void 0;if(typeof m=="number"&&typeof y=="number"){const[w,b]=[e[m],n[y]];w.toLowerCase()===b.toLowerCase()&&(n[y]=w,y>m?n=n.slice(y):m>y&&(e=e.slice(m)))}}const{optimizationLevel:s=1}=this.options;s>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:n}),this.debug("matchOne",e.length,n.length);for(var u=0,a=0,c=e.length,o=n.length;u>> no match, partial?",e,h,n,f),h!==c))}let g;if(typeof l=="string"?(g=p===l,this.debug("string match",l,p,g)):(g=l.test(p),this.debug("pattern match",l,p,g)),!g)return!1}if(u===c&&a===o)return!0;if(u===c)return r;if(a===o)return u===c-1&&e[u]==="";throw new Error("wtf?")}braceExpand(){return lr(this.pattern,this.options)}parse(e){ae(e);const n=this.options;if(e==="**")return lt;if(e==="")return"";let r,i=null;(r=e.match(_i))?i=n.dot?ji:Li:(r=e.match(Ni))?i=(n.nocase?n.dot?Pi:Ii:n.dot?Oi:Ai)(r[1]):(r=e.match(Fi))?i=(n.nocase?n.dot?ki:Di:n.dot?Mi:Ui)(r):(r=e.match(Ti))?i=n.dot?Ri:$i:(r=e.match(Ci))&&(i=Si);const s=ue.fromGlob(e,this.options).toMMPattern();return i&&typeof s=="object"&&Reflect.defineProperty(s,"test",{value:i}),s}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;const e=this.set;if(!e.length)return this.regexp=!1,this.regexp;const n=this.options,r=n.noglobstar?"[^/]*?":n.dot?"(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?":"(?:(?!(?:\\/|^)\\.).)*?",i=new Set(n.nocase?["i"]:[]);let s=e.map(c=>{const o=c.map(l=>{if(l instanceof RegExp)for(const p of l.flags.split(""))i.add(p);return typeof l=="string"?l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"):l===lt?lt:l._src});return o.forEach((l,p)=>{const h=o[p+1],f=o[p-1];l===lt&&f!==lt&&(f===void 0?h!==void 0&&h!==lt?o[p+1]="(?:\\/|"+r+"\\/)?"+h:o[p]=r:h===void 0?o[p-1]=f+"(?:\\/|"+r+")?":h!==lt&&(o[p-1]=f+"(?:\\/|\\/"+r+"\\/)"+h,o[p+1]=lt))}),o.filter(l=>l!==lt).join("/")}).join("|");const[u,a]=e.length>1?["(?:",")"]:["",""];s="^"+u+s+a+"$",this.negate&&(s="^(?!"+s+").+$");try{this.regexp=new RegExp(s,[...i].join(""))}catch(c){this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.partial;if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&n)return!0;const r=this.options;this.isWindows&&(e=e.split("\\").join("/"));const i=this.slashSplit(e);this.debug(this.pattern,"split",i);const s=this.set;this.debug(this.pattern,"set",s);let u=i[i.length-1];if(!u)for(let a=i.length-2;!u&&a>=0;a--)u=i[a];for(let a=0;a1&&arguments[1]!==void 0?arguments[1]:"","Invalid response: ").concat(t.status," ").concat(t.statusText));return e.status=t.status,e.response=t,e}function W(t,e){const{status:n}=e;if(n===401&&t.digest)return e;if(n>=400)throw ze(e);return e}function Lt(t,e){return arguments.length>2&&arguments[2]!==void 0&&arguments[2]?{data:e,headers:t.headers?pi(t.headers):{},status:t.status,statusText:t.statusText}:e}J.AST=ue,J.Minimatch=le,J.escape=function(t){let{windowsPathsNoEscape:e=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e?t.replace(/[?*()[\]]/g,"[$&]"):t.replace(/[?*()[\]\\]/g,"\\$&")},J.unescape=Gt;const Bi=(In=function(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=X({url:k(t.remoteURL,D(e)),method:"COPY",headers:{Destination:k(t.remoteURL,D(n)),Overwrite:r.overwrite===!1?"F":"T",Depth:r.shallow?"0":"infinity"}},t,r);return u=function(a){W(t,a)},(s=z(i,t))&&s.then||(s=Promise.resolve(s)),u?s.then(u):s;var s,u},function(){for(var t=[],e=0;e2&&arguments[2]!==void 0?arguments[2]:jt.Original;const r=vt().get(t,e);return n==="array"&&Array.isArray(r)===!1?[r]:n==="object"&&Array.isArray(r)?r[0]:r}function Kt(t){return new Promise(e=>{e(function(n){const{multistatus:r}=n;if(r==="")return{multistatus:{response:[]}};if(!r)throw new Error("Invalid response: No root multistatus found");const i={multistatus:Array.isArray(r)?r[0]:r};return vt().set(i,"multistatus.response",Yt(i,"multistatus.response",jt.Array)),vt().set(i,"multistatus.response",vt().get(i,"multistatus.response").map(s=>function(u){const a=Object.assign({},u);return a.status?vt().set(a,"status",Yt(a,"status",jt.Object)):(vt().set(a,"propstat",Yt(a,"propstat",jt.Object)),vt().set(a,"propstat.prop",Yt(a,"propstat.prop",jt.Object))),a}(s))),i}(new Xe.XMLParser({removeNSPrefix:!0,numberParseOptions:{hex:!0,leadingZeros:!1}}).parse(t)))})}function pe(t,e){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];const{getlastmodified:r=null,getcontentlength:i="0",resourcetype:s=null,getcontenttype:u=null,getetag:a=null}=t,c=s&&typeof s=="object"&&s.collection!==void 0?"directory":"file",o={filename:e,basename:re().basename(e),lastmod:r,size:parseInt(i,10),type:c,etag:typeof a=="string"?a.replace(/"/g,""):null};return c==="file"&&(o.mime=u&&typeof u=="string"?u.split(";")[0]:""),n&&(t.displayname!==void 0&&(t.displayname=String(t.displayname)),o.props=t),o}function cr(t,e){let n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=null;try{t.multistatus.response[0].propstat&&(r=t.multistatus.response[0])}catch(l){}if(!r)throw new Error("Failed getting item stat: bad response");const{propstat:{prop:i,status:s}}=r,[u,a,c]=s.split(" ",3),o=parseInt(a,10);if(o>=400){const l=new Error("Invalid response: ".concat(o," ").concat(c));throw l.status=o,l}return pe(i,Xt(e),n)}function hr(t){switch(String(t)){case"-3":return"unlimited";case"-2":case"-1":return"unknown";default:return parseInt(String(t),10)}}function Ae(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const We=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const{details:r=!1}=n,i=X({url:k(t.remoteURL,D(e)),method:"PROPFIND",headers:{Accept:"text/plain,application/xml",Depth:"0"}},t,n);return Ae(z(i,t),function(s){return W(t,s),Ae(s.text(),function(u){return Ae(Kt(u),function(a){const c=cr(a,e,r);return Lt(s,c,r)})})})});function pr(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const Vi=fr(function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=function(s){if(!s||s==="/")return[];let u=s;const a=[];do a.push(u),u=re().dirname(u);while(u&&u!=="/");return a}(Xt(e));r.sort((s,u)=>s.length>u.length?1:u.length>s.length?-1:0);let i=!1;return function(s,u,a){if(typeof s[Tn]=="function"){let g=function(v){try{for(;!(c=p.next()).done;)if((v=u(c.value))&&v.then){if(!$n(v))return void v.then(g,l||(l=rt.bind(null,o=new Ft,2)));v=v.v}o?rt(o,1,v):o=v}catch(E){rt(o||(o=new Ft),2,E)}};var c,o,l,p=s[Tn]();if(g(),p.return){var h=function(v){try{c.done||p.return()}catch(E){}return v};if(o&&o.then)return o.then(h,function(v){throw h(v)});h()}return o}if(!("length"in s))throw new TypeError("Object is not iterable");for(var f=[],d=0;d2&&arguments[2]!==void 0?arguments[2]:{};if(n.recursive===!0)return Vi(t,e,n);const r=X({url:k(t.remoteURL,(i=D(e),i.endsWith("/")?i:i+"/")),method:"MKCOL"},t,n);var i;return pr(z(r,t),function(s){W(t,s)})});var Xi=L(388),Rn=L.n(Xi);const Wi=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r={};if(typeof n.range=="object"&&typeof n.range.start=="number"){let a="bytes=".concat(n.range.start,"-");typeof n.range.end=="number"&&(a="".concat(a).concat(n.range.end)),r.Range=a}const i=X({url:k(t.remoteURL,D(e)),method:"GET",headers:r},t,n);return u=function(a){if(W(t,a),r.Range&&a.status!==206){const c=new Error("Invalid response code for partial request: ".concat(a.status));throw c.status=a.status,c}return n.callback&&setTimeout(()=>{n.callback(a)},0),a.body},(s=z(i,t))&&s.then||(s=Promise.resolve(s)),u?s.then(u):s;var s,u}),qi=()=>{},Hi=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e)),method:"DELETE"},t,n);return s=function(u){W(t,u)},(i=z(r,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s}),Zi=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};return function(r,i){try{var s=(u=We(t,e,n),a=function(){return!0},c?a?a(u):u:(u&&u.then||(u=Promise.resolve(u)),a?u.then(a):u))}catch(o){return i(o)}var u,a,c;return s&&s.then?s.then(void 0,i):s}(0,function(r){if(r.status===404)return!1;throw r})});function Oe(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const Yi=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e),"/"),method:"PROPFIND",headers:{Accept:"text/plain,application/xml",Depth:n.deep?"infinity":"1"}},t,n);return Oe(z(r,t),function(i){return W(t,i),Oe(i.text(),function(s){if(!s)throw new Error("Failed parsing directory contents: Empty response");return Oe(Kt(s),function(u){const a=gn(e);let c=function(o,l,p){let h=arguments.length>3&&arguments[3]!==void 0&&arguments[3],f=arguments.length>4&&arguments[4]!==void 0&&arguments[4];const d=re().join(l,"/"),{multistatus:{response:g}}=o,v=g.map(E=>{const m=function(w){try{return w.replace(/^https?:\/\/[^\/]+/,"")}catch(b){throw new it(b,"Failed normalising HREF")}}(E.href),{propstat:{prop:y}}=E;return pe(y,d==="/"?decodeURIComponent(Xt(m)):Xt(re().relative(decodeURIComponent(d),decodeURIComponent(m))),h)});return f?v:v.filter(E=>E.basename&&(E.type==="file"||E.filename!==p.replace(/\/$/,"")))}(u,gn(t.remoteBasePath||t.remotePath),a,n.details,n.includeSelf);return n.glob&&(c=function(o,l){return o.filter(p=>J(p.filename,l,{matchBase:!0}))}(c,n.glob)),Lt(i,c,n.details)})})})});function qe(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e)),method:"GET",headers:{Accept:"text/plain"},transformResponse:[es]},t,n);return ce(z(r,t),function(i){return W(t,i),ce(i.text(),function(s){return Lt(i,s,n.details)})})});function ce(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const Qi=qe(function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e)),method:"GET"},t,n);return ce(z(r,t),function(i){let s;return W(t,i),function(u,a){var c=u();return c&&c.then?c.then(a):a()}(function(){return ce(i.arrayBuffer(),function(u){s=u})},function(){return Lt(i,s,n.details)})})}),ts=qe(function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{format:r="binary"}=n;if(r!=="binary"&&r!=="text")throw new it({info:{code:Et.InvalidOutputFormat}},"Invalid output format: ".concat(r));return r==="text"?Ji(t,e,n):Qi(t,e,n)}),es=t=>t;function ns(t){return new Xe.XMLBuilder({attributeNamePrefix:"@_",format:!0,ignoreAttributes:!1,suppressEmptyNode:!0}).build(dr({lockinfo:{"@_xmlns:d":"DAV:",lockscope:{exclusive:{}},locktype:{write:{}},owner:{href:t}}},"d"))}function dr(t,e){const n=st({},t);for(const r in n)n.hasOwnProperty(r)&&(n[r]&&typeof n[r]=="object"&&r.indexOf(":")===-1?(n["".concat(e,":").concat(r)]=dr(n[r],e),delete n[r]):/^@_/.test(r)===!1&&(n["".concat(e,":").concat(r)]=n[r],delete n[r]));return n}function Fe(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}function gr(t){return function(){for(var e=[],n=0;n3&&arguments[3]!==void 0?arguments[3]:{};const i=X({url:k(t.remoteURL,D(e)),method:"UNLOCK",headers:{"Lock-Token":n}},t,r);return Fe(z(i,t),function(s){if(W(t,s),s.status!==204&&s.status!==200)throw ze(s)})}),is=gr(function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{refreshToken:r,timeout:i=ss}=n,s={Accept:"text/plain,application/xml",Timeout:i};r&&(s.If=r);const u=X({url:k(t.remoteURL,D(e)),method:"LOCK",headers:s,data:ns(t.contactHref)},t,n);return Fe(z(u,t),function(a){return W(t,a),Fe(a.text(),function(c){const o=(h=c,new Xe.XMLParser({removeNSPrefix:!0,parseAttributeValue:!0,parseTagValue:!0}).parse(h)),l=vt().get(o,"prop.lockdiscovery.activelock.locktoken.href"),p=vt().get(o,"prop.lockdiscovery.activelock.timeout");var h;if(!l)throw ze(a,"No lock token received: ");return{token:l,serverTimeout:p}})})}),ss="Infinite, Second-4100000000";function Ie(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const os=function(t){return function(){for(var e=[],n=0;n1&&arguments[1]!==void 0?arguments[1]:{};const n=e.path||"/",r=X({url:k(t.remoteURL,n),method:"PROPFIND",headers:{Accept:"text/plain,application/xml",Depth:"0"}},t,e);return Ie(z(r,t),function(i){return W(t,i),Ie(i.text(),function(s){return Ie(Kt(s),function(u){const a=function(c){try{const[o]=c.multistatus.response,{propstat:{prop:{"quota-used-bytes":l,"quota-available-bytes":p}}}=o;return l!==void 0&&p!==void 0?{used:parseInt(String(l),10),available:hr(p)}:null}catch(o){}return null}(u);return Lt(i,a,e.details)})})})});function Pe(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const as=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const{details:r=!1}=n,i=X({url:k(t.remoteURL,D(e)),method:"SEARCH",headers:{Accept:"text/plain,application/xml","Content-Type":t.headers["Content-Type"]||"application/xml; charset=utf-8"}},t,n);return Pe(z(i,t),function(s){return W(t,s),Pe(s.text(),function(u){return Pe(Kt(u),function(a){const c=function(o,l,p){const h={truncated:!1,results:[]};return h.truncated=o.multistatus.response.some(f=>{var d,g;return((g=(f.status||((d=f.propstat)==null?void 0:d.status)).split(" ",3))==null?void 0:g[1])==="507"&&f.href.replace(/\/$/,"").endsWith(D(l).replace(/\/$/,""))}),o.multistatus.response.forEach(f=>{if(f.propstat===void 0)return;const d=f.href.split("/").map(decodeURIComponent).join("/");h.results.push(pe(f.propstat.prop,d,p))}),h}(a,e,r);return Lt(s,c,r)})})})}),us=function(t){return function(){for(var e=[],n=0;n3&&arguments[3]!==void 0?arguments[3]:{};const i=X({url:k(t.remoteURL,D(e)),method:"MOVE",headers:{Destination:k(t.remoteURL,D(n)),Overwrite:r.overwrite===!1?"F":"T"}},t,r);return u=function(a){W(t,a)},(s=z(i,t))&&s.then||(s=Promise.resolve(s)),u?s.then(u):s;var s,u});var ls=L(172);const cs=function(t){return function(){for(var e=[],n=0;n3&&arguments[3]!==void 0?arguments[3]:{};const{contentLength:i=!0,overwrite:s=!0}=r,u={"Content-Type":"application/octet-stream"};i===!1||(u["Content-Length"]=typeof i=="number"?"".concat(i):"".concat(function(l){if(er(l))return l.byteLength;if(nr(l))return l.length;if(typeof l=="string")return(0,ls.d)(l);throw new it({info:{code:Et.DataTypeNoLength}},"Cannot calculate data length: Invalid type")}(n))),s||(u["If-None-Match"]="*");const a=X({url:k(t.remoteURL,D(e)),method:"PUT",headers:u,data:n},t,r);return o=function(l){try{W(t,l)}catch(p){const h=p;if(h.status!==412||s)throw h;return!1}return!0},(c=z(a,t))&&c.then||(c=Promise.resolve(c)),o?c.then(o):c;var c,o}),mr=function(t){return function(){for(var e=[],n=0;n2&&arguments[2]!==void 0?arguments[2]:{};const r=X({url:k(t.remoteURL,D(e)),method:"OPTIONS"},t,n);return s=function(u){var a,c;try{W(t,u)}catch(o){throw o}return{compliance:((a=u.headers.get("DAV"))!=null?a:"").split(",").map(o=>o.trim()),server:(c=u.headers.get("Server"))!=null?c:""}},(i=z(r,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s});function zt(t,e,n){return t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t}const hs=He(function(t,e,n,r,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(n>r||n<0)throw new it({info:{code:Et.InvalidUpdateRange}},"Invalid update range ".concat(n," for partial update"));const u={"Content-Type":"application/octet-stream","Content-Length":""+(r-n+1),"Content-Range":"bytes ".concat(n,"-").concat(r,"/*")},a=X({url:k(t.remoteURL,D(e)),method:"PUT",headers:u,data:i},t,s);return zt(z(a,t),function(c){W(t,c)})});function Cn(t,e){var n=t();return n&&n.then?n.then(e):e(n)}const ps=He(function(t,e,n,r,i){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};if(n>r||n<0)throw new it({info:{code:Et.InvalidUpdateRange}},"Invalid update range ".concat(n," for partial update"));const u={"Content-Type":"application/x-sabredav-partialupdate","Content-Length":""+(r-n+1),"X-Update-Range":"bytes=".concat(n,"-").concat(r)},a=X({url:k(t.remoteURL,D(e)),method:"PATCH",headers:u,data:i},t,s);return zt(z(a,t),function(c){W(t,c)})});function He(t){return function(){for(var e=[],n=0;n5&&arguments[5]!==void 0?arguments[5]:{};return zt(mr(t,e,s),function(u){let a=!1;return Cn(function(){if(u.compliance.includes("sabredav-partialupdate"))return zt(ps(t,e,n,r,i,s),function(c){return a=!0,c})},function(c){let o=!1;return a?c:Cn(function(){if(u.server.includes("Apache")&&u.compliance.includes(""))return zt(hs(t,e,n,r,i,s),function(l){return o=!0,l})},function(l){if(o)return l;throw new it({info:{code:Et.NotSupported}},"Not supported")})})})}),ds="https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md";function gs(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{authType:n=null,remoteBasePath:r,contactHref:i=ds,ha1:s,headers:u={},httpAgent:a,httpsAgent:c,password:o,token:l,username:p,withCredentials:h}=e;let f=n;f||(f=p||o?nt.Password:nt.None);const d={authType:f,remoteBasePath:r,contactHref:i,ha1:s,headers:Object.assign({},u),httpAgent:a,httpsAgent:c,password:o,remotePath:ri(t),remoteURL:t,token:l,username:p,withCredentials:h};return Jn(d,p,o,l,s),{copyFile:(g,v,E)=>Bi(d,g,v,E),createDirectory:(g,v)=>je(d,g,v),createReadStream:(g,v)=>function(E,m){let y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const w=new(Rn()).PassThrough;return Wi(E,m,y).then(b=>{b.pipe(w)}).catch(b=>{w.emit("error",b)}),w}(d,g,v),createWriteStream:(g,v,E)=>function(m,y){let w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:qi;const A=new(Rn()).PassThrough,x={};w.overwrite===!1&&(x["If-None-Match"]="*");const N=X({url:k(m.remoteURL,D(y)),method:"PUT",headers:x,data:A,maxRedirects:0},m,w);return z(N,m).then(O=>W(m,O)).then(O=>{setTimeout(()=>{b(O)},0)}).catch(O=>{A.emit("error",O)}),A}(d,g,v,E),customRequest:(g,v)=>Hi(d,g,v),deleteFile:(g,v)=>Ki(d,g,v),exists:(g,v)=>Zi(d,g,v),getDirectoryContents:(g,v)=>Yi(d,g,v),getFileContents:(g,v)=>ts(d,g,v),getFileDownloadLink:g=>function(v,E){let m=k(v.remoteURL,D(E));const y=/^https:/i.test(m)?"https":"http";switch(v.authType){case nt.None:break;case nt.Password:{const w=vn(v.headers.Authorization.replace(/^Basic /i,"").trim());m=m.replace(/^https?:\/\//,"".concat(y,"://").concat(w,"@"));break}default:throw new it({info:{code:Et.LinkUnsupportedAuthType}},"Unsupported auth type for file link: ".concat(v.authType))}return m}(d,g),getFileUploadLink:g=>function(v,E){let m="".concat(k(v.remoteURL,D(E)),"?Content-Type=application/octet-stream");const y=/^https:/i.test(m)?"https":"http";switch(v.authType){case nt.None:break;case nt.Password:{const w=vn(v.headers.Authorization.replace(/^Basic /i,"").trim());m=m.replace(/^https?:\/\//,"".concat(y,"://").concat(w,"@"));break}default:throw new it({info:{code:Et.LinkUnsupportedAuthType}},"Unsupported auth type for file link: ".concat(v.authType))}return m}(d,g),getHeaders:()=>Object.assign({},d.headers),getQuota:g=>os(d,g),lock:(g,v)=>is(d,g,v),moveFile:(g,v,E)=>us(d,g,v,E),putFileContents:(g,v,E)=>cs(d,g,v,E),partialUpdateFileContents:(g,v,E,m,y)=>fs(d,g,v,E,m,y),getDAVCompliance:g=>mr(d,g),search:(g,v)=>as(d,g,v),setHeaders:g=>{d.headers=Object.assign({},g)},stat:(g,v)=>We(d,g,v),unlock:(g,v,E)=>rs(d,g,v,E)}}ht.hT,ht.O4,ht.Kd,ht.YK;var ms=ht.UU,vs=ht.Gu,ys=ht.ky,bs=ht.h4;ht.ch,ht.hq,ht.i5;var Ke={},fe={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(a,c){const o=[];let l=c.exec(a);for(;l;){const p=[];p.startIndex=c.lastIndex-l[0].length;const h=l.length;for(let f=0;f"u")};t.isExist=function(a){return typeof a<"u"},t.isEmptyObject=function(a){return Object.keys(a).length===0},t.merge=function(a,c,o){if(c){const l=Object.keys(c),p=l.length;for(let h=0;h"&&t[s]!==" "&&t[s]!==" "&&t[s]!=="\n"&&t[s]!=="\r";s++)c+=t[s];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),s--),!Ts(c)){let p;return c.trim().length===0?p="Invalid space after '<'.":p="Tag '"+c+"' is an invalid name.",U("InvalidTag",p,tt(t,s))}const o=Ns(t,s);if(o===!1)return U("InvalidAttr","Attributes for '"+c+"' have open quote.",tt(t,s));let l=o.value;if(s=o.index,l[l.length-1]==="/"){const p=s-l.length;l=l.substring(0,l.length-1);const h=jn(l,e);if(h===!0)r=!0;else return U(h.err.code,h.err.msg,tt(t,p+h.err.line))}else if(a)if(o.tagClosed){if(l.trim().length>0)return U("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",tt(t,u));if(n.length===0)return U("InvalidTag","Closing tag '"+c+"' has not been opened.",tt(t,u));{const p=n.pop();if(c!==p.tagName){let h=tt(t,p.tagStartPos);return U("InvalidTag","Expected closing tag '"+p.tagName+"' (opened in line "+h.line+", col "+h.col+") instead of closing tag '"+c+"'.",tt(t,u))}n.length==0&&(i=!0)}}else return U("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",tt(t,s));else{const p=jn(l,e);if(p!==!0)return U(p.err.code,p.err.msg,tt(t,s-l.length+p.err.line));if(i===!0)return U("InvalidXml","Multiple possible root nodes found.",tt(t,s));e.unpairedTags.indexOf(c)!==-1||n.push({tagName:c,tagStartPos:u}),r=!0}for(s++;s0)return U("InvalidXml","Invalid '"+JSON.stringify(n.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return U("InvalidXml","Start tag expected.",1);return!0};function Sn(t){return t===" "||t===" "||t==="\n"||t==="\r"}function _n(t,e){const n=e;for(;e5&&r==="xml")return U("InvalidXml","XML declaration allowed only at the start of the document.",tt(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Ln(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let n=1;for(e+=8;e"&&(n--,n===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e"){e+=2;break}}return e}const ws='"',xs="'";function Ns(t,e){let n="",r="",i=!1;for(;e"&&r===""){i=!0;break}n+=t[e]}return r!==""?!1:{value:n,index:e,tagClosed:i}}const As=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function jn(t,e){const n=Ze.getAllMatches(t,As),r={};for(let i=0;i!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}},$s=function(t){return Object.assign({},vr,t)};De.buildOptions=$s,De.defaultOptions=vr;class Rs{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}var Cs=Rs;const Ss=fe;function _s(t,e){const n={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let r=1,i=!1,s=!1,u="";for(;e"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,r--):r--,r===0)break}else t[e]==="["?i=!0:u+=t[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:e}}function Ls(t,e){let n="";for(;e0&&i&&n[2]!=="."||!e.leadingZeros&&s.length>0&&!i&&n[1]!==".")return t;{const c=Number(n),o=""+c;return o.search(/[eE]/)!==-1||a?e.eNotation?c:t:n.indexOf(".")!==-1?o==="0"&&u===""||o===u||i&&o==="-"+u?c:t:s?u===o||i+u===o?c:t:n===o||n===i+o?c:t}}else return t}}function Ws(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}var qs=Xs;function Hs(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(const n of t)if(typeof n=="string"&&e===n||n instanceof RegExp&&n.test(e))return!0}:()=>!1}var yr=Hs;const br=fe,Ut=Cs,Ks=Bs,Zs=qs,Ys=yr;let Js=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,n)=>String.fromCharCode(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,n)=>String.fromCharCode(Number.parseInt(n,16))}},this.addExternalEntities=Qs,this.parseXml=io,this.parseTextData=to,this.resolveNameSpace=eo,this.buildAttributesMap=ro,this.isItStopNode=uo,this.replaceEntitiesValue=oo,this.readStopNodeData=co,this.saveTextToParentTag=ao,this.addChild=so,this.ignoreAttributesFn=Ys(this.options.ignoreAttributes)}};function Qs(t){const e=Object.keys(t);for(let n=0;n0)){u||(t=this.replaceEntitiesValue(t));const a=this.options.tagValueProcessor(e,t,n,i,s);return a==null?t:typeof a!=typeof t||a!==t?a:this.options.trimValues?Me(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Me(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function eo(t){if(this.options.removeNSPrefix){const e=t.split(":"),n=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=n+e[1])}return t}const no=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function ro(t,e,n){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){const r=br.getAllMatches(t,no),i=r.length,s={};for(let u=0;u",s,"Closing Tag is not closed.");let a=t.substring(s+2,u).trim();if(this.options.removeNSPrefix){const l=a.indexOf(":");l!==-1&&(a=a.substr(l+1))}this.options.transformTagName&&(a=this.options.transformTagName(a)),n&&(r=this.saveTextToParentTag(r,n,i));const c=i.substring(i.lastIndexOf(".")+1);if(a&&this.options.unpairedTags.indexOf(a)!==-1)throw new Error("Unpaired tag can not be used as closing tag: "));let o=0;c&&this.options.unpairedTags.indexOf(c)!==-1?(o=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):o=i.lastIndexOf("."),i=i.substring(0,o),n=this.tagsNodeStack.pop(),r="",s=u}else if(t[s+1]==="?"){let u=ke(t,s,!1,"?>");if(!u)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,n,i),!(this.options.ignoreDeclaration&&u.tagName==="?xml"||this.options.ignorePiTags)){const a=new Ut(u.tagName);a.add(this.options.textNodeName,""),u.tagName!==u.tagExp&&u.attrExpPresent&&(a[":@"]=this.buildAttributesMap(u.tagExp,i,u.tagName)),this.addChild(n,a,i)}s=u.closeIndex+1}else if(t.substr(s+1,3)==="!--"){const u=Rt(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){const a=t.substring(s+4,u-2);r=this.saveTextToParentTag(r,n,i),n.add(this.options.commentPropName,[{[this.options.textNodeName]:a}])}s=u}else if(t.substr(s+1,2)==="!D"){const u=Ks(t,s);this.docTypeEntities=u.entities,s=u.i}else if(t.substr(s+1,2)==="!["){const u=Rt(t,"]]>",s,"CDATA is not closed.")-2,a=t.substring(s+9,u);r=this.saveTextToParentTag(r,n,i);let c=this.parseTextData(a,n.tagname,i,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:a}]):n.add(this.options.textNodeName,c),s=u+2}else{let u=ke(t,s,this.options.removeNSPrefix),a=u.tagName;const c=u.rawTagName;let o=u.tagExp,l=u.attrExpPresent,p=u.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),n&&r&&n.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,n,i,!1));const h=n;if(h&&this.options.unpairedTags.indexOf(h.tagname)!==-1&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),a!==e.tagname&&(i+=i?"."+a:a),this.isItStopNode(this.options.stopNodes,i,a)){let f="";if(o.length>0&&o.lastIndexOf("/")===o.length-1)a[a.length-1]==="/"?(a=a.substr(0,a.length-1),i=i.substr(0,i.length-1),o=a):o=o.substr(0,o.length-1),s=u.closeIndex;else if(this.options.unpairedTags.indexOf(a)!==-1)s=u.closeIndex;else{const g=this.readStopNodeData(t,c,p+1);if(!g)throw new Error("Unexpected end of ".concat(c));s=g.i,f=g.tagContent}const d=new Ut(a);a!==o&&l&&(d[":@"]=this.buildAttributesMap(o,i,a)),f&&(f=this.parseTextData(f,a,i,!0,l,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),d.add(this.options.textNodeName,f),this.addChild(n,d,i)}else{if(o.length>0&&o.lastIndexOf("/")===o.length-1){a[a.length-1]==="/"?(a=a.substr(0,a.length-1),i=i.substr(0,i.length-1),o=a):o=o.substr(0,o.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const f=new Ut(a);a!==o&&l&&(f[":@"]=this.buildAttributesMap(o,i,a)),this.addChild(n,f,i),i=i.substr(0,i.lastIndexOf("."))}else{const f=new Ut(a);this.tagsNodeStack.push(n),a!==o&&l&&(f[":@"]=this.buildAttributesMap(o,i,a)),this.addChild(n,f,i),n=f}r="",s=p}}else r+=t[s];return e.child};function so(t,e,n){const r=this.options.updateTag(e.tagname,n,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),t.addChild(e))}const oo=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function ao(t,e,n,r){return t&&(r===void 0&&(r=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,n,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function uo(t,e,n){const r="*."+n;for(const i in t){const s=t[i];if(r===s||e===s)return!0}return!1}function lo(t,e,n=">"){let r,i="";for(let s=e;s",n,"".concat(e," is not closed"));if(t.substring(n+2,s).trim()===e&&(i--,i===0))return{tagContent:t.substring(r,n),i:s};n=s}else if(t[n+1]==="?")n=Rt(t,"?>",n+1,"StopNode is not closed.");else if(t.substr(n+1,3)==="!--")n=Rt(t,"-->",n+3,"StopNode is not closed.");else if(t.substr(n+1,2)==="![")n=Rt(t,"]]>",n,"StopNode is not closed.")-2;else{const s=ke(t,n,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&i++,n=s.closeIndex)}}function Me(t,e,n){if(e&&typeof t=="string"){const r=t.trim();return r==="true"?!0:r==="false"?!1:Zs(t,n)}else return br.isExist(t)?t:""}var ho=Js,Er={};function po(t,e){return wr(t,e)}function wr(t,e,n){let r;const i={};for(let s=0;s0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function fo(t){const e=Object.keys(t);for(let n=0;n0&&(n=No),xr(t,e,"",n)}function xr(t,e,n,r){let i="",s=!1;for(let u=0;u"),s=!1;continue}else if(c===e.commentPropName){i+=r+""),s=!0;continue}else if(c[0]==="?"){const d=Fn(a[":@"],e),g=c==="?xml"?"":r;let v=a[c][0][e.textNodeName];v=v.length!==0?" "+v:"",i+=g+"<".concat(c).concat(v).concat(d,"?>"),s=!0;continue}let l=r;l!==""&&(l+=e.indentBy);const p=Fn(a[":@"],e),h=r+"<".concat(c).concat(p),f=xr(a[c],e,o,l);e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?i+=h+">":i+=h+"/>":(!f||f.length===0)&&e.suppressEmptyNode?i+=h+"/>":f&&f.endsWith(">")?i+=h+">".concat(f).concat(r,""):(i+=h+">",f&&r!==""&&(f.includes("/>")||f.includes("")),s=!0}return i}function Oo(t){const e=Object.keys(t);for(let n=0;n0&&e.processEntities)for(let n=0;n","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Pt(t){this.options=Object.assign({},Ro,t),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=$o(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=_o),this.processTextOrObjNode=Co,this.options.format?(this.indentate=So,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Pt.prototype.build=function(t){return this.options.preserveOrder?To(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)},Pt.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let u in t)if(Object.prototype.hasOwnProperty.call(t,u))if(typeof t[u]>"u")this.isAttribute(u)&&(i+="");else if(t[u]===null)this.isAttribute(u)?i+="":u[0]==="?"?i+=this.indentate(e)+"<"+u+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+u+"/"+this.tagEndChar;else if(t[u]instanceof Date)i+=this.buildTextValNode(t[u],u,"",e);else if(typeof t[u]!="object"){const a=this.isAttribute(u);if(a&&!this.ignoreAttributesFn(a,s))r+=this.buildAttrPairStr(a,""+t[u]);else if(!a)if(u===this.options.textNodeName){let c=this.options.tagValueProcessor(u,""+t[u]);i+=this.replaceEntitiesValue(c)}else i+=this.buildTextValNode(t[u],u,"",e)}else if(Array.isArray(t[u])){const a=t[u].length;let c="",o="";for(let l=0;l"u"))if(p===null)u[0]==="?"?i+=this.indentate(e)+"<"+u+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+u+"/"+this.tagEndChar;else if(typeof p=="object")if(this.options.oneListGroup){const h=this.j2x(p,e+1,n.concat(u));c+=h.val,this.options.attributesGroupName&&p.hasOwnProperty(this.options.attributesGroupName)&&(o+=h.attrStr)}else c+=this.processTextOrObjNode(p,u,e,n);else if(this.options.oneListGroup){let h=this.options.tagValueProcessor(u,p);h=this.replaceEntitiesValue(h),c+=h}else c+=this.buildTextValNode(p,u,"",e)}this.options.oneListGroup&&(c=this.buildObjectNode(c,u,o,e)),i+=c}else if(this.options.attributesGroupName&&u===this.options.attributesGroupName){const a=Object.keys(t[u]),c=a.length;for(let o=0;o"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+"")+this.newLine:this.indentate(r)+"<"+e+n+s+this.tagEndChar+t+this.indentate(r)+i}},Pt.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=">")+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+"")+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"0&&this.options.processEntities)for(let e=0;e{},internals:r=Je(),promise:i=new Promise((s,u)=>n(s,u,a=>{r.onCancelList.push(a)}))}=e;Dn(this,Y,{writable:!0,value:void 0}),Dn(this,Bt,{writable:!0,value:void 0}),Nt(this,Vo,"CancelablePromise"),this.cancel=this.cancel.bind(this),kn(this,Y,r),kn(this,Bt,i||new Promise((s,u)=>n(s,u,a=>{r.onCancelList.push(a)})))}then(e,n){return ee(Z(this,Bt).then(Jt(e,Z(this,Y)),Jt(n,Z(this,Y))),Z(this,Y))}catch(e){return ee(Z(this,Bt).catch(Jt(e,Z(this,Y))),Z(this,Y))}finally(e,n){return n&&Z(this,Y).onCancelList.push(e),ee(Z(this,Bt).finally(Jt(()=>{if(e)return n&&(Z(this,Y).onCancelList=Z(this,Y).onCancelList.filter(r=>r!==e)),e()},Z(this,Y))),Z(this,Y))}cancel(){Z(this,Y).isCanceled=!0;var e=Z(this,Y).onCancelList;Z(this,Y).onCancelList=[];for(var n of e)if(typeof n=="function")try{n()}catch(r){console.error(r)}}isCanceled(){return Z(this,Y).isCanceled===!0}}class At extends de{constructor(e){super({executor:e})}}Nt(At,"all",function(t){return Qt(t,Promise.all(t))}),Nt(At,"allSettled",function(t){return Qt(t,Promise.allSettled(t))}),Nt(At,"any",function(t){return Qt(t,Promise.any(t))}),Nt(At,"race",function(t){return Qt(t,Promise.race(t))}),Nt(At,"resolve",function(t){return Mn(Promise.resolve(t))}),Nt(At,"reject",function(t){return Mn(Promise.reject(t))}),Nt(At,"isCancelable",Ye);function Mn(t){return ee(t,Je())}function Ye(t){return t instanceof At||t instanceof de}function Jt(t,e){if(t)return n=>{if(!e.isCanceled){var r=t(n);return Ye(r)&&e.onCancelList.push(r.cancel),r}return n}}function ee(t,e){return new de({internals:e,promise:t})}function Qt(t,e){var n=Je();return n.onCancelList.push(()=>{for(var r of t)Ye(r)&&r.cancel()}),new de({internals:n,promise:e})}function Je(){return{isCanceled:!1,onCancelList:[]}}function Qe(){var t;return(t=Wn("files_sharing","isPublic",null))!=null?t:document.querySelector('input#isPublic[type="hidden"][name="isPublic"][value="1"]')!==null}function zo(){var t,e,n;return(n=(e=Wn("files_sharing","sharingToken",null))!=null?e:(t=document.querySelector('input#sharingToken[type="hidden"]'))==null?void 0:t.value)!=null?n:null}const Xo=Re().setApp("@nextcloud/files").detectUser().build();var pt=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(pt||{}),tn=(t=>(t.Folder="folder",t.File="file",t))(tn||{});const Or=function(t,e){return t.match(e)!==null},Un=(t,e)=>{if(t.id&&typeof t.id!="number")throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch(n){throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.displayname&&typeof t.displayname!="string")throw new Error("Invalid displayname type");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||typeof t.mime!="string"||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&typeof t.size!="number"&&t.size!==void 0)throw new Error("Invalid size type");if("permissions"in t&&t.permissions!==void 0&&!(typeof t.permissions=="number"&&t.permissions>=pt.NONE&&t.permissions<=pt.ALL))throw new Error("Invalid permissions");if(t.owner&&t.owner!==null&&typeof t.owner!="string")throw new Error("Invalid owner type");if(t.attributes&&typeof t.attributes!="object")throw new Error("Invalid attributes type");if(t.root&&typeof t.root!="string")throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&Or(t.source,e)){const n=t.source.match(e)[0];if(!t.source.includes(ct.join(n,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(en).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var en=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(en||{});class ge{constructor(e,n){j(this,"_data");j(this,"_attributes");j(this,"_knownDavService",/(remote|public)\.php\/(web)?dav/i);j(this,"readonlyAttributes",Object.entries(Object.getOwnPropertyDescriptors(ge.prototype)).filter(e=>typeof e[1].get=="function"&&e[0]!=="__proto__").map(e=>e[0]));j(this,"handler",{set:(e,n,r)=>this.readonlyAttributes.includes(n)?!1:Reflect.set(e,n,r),deleteProperty:(e,n)=>this.readonlyAttributes.includes(n)?!1:Reflect.deleteProperty(e,n),get:(e,n,r)=>this.readonlyAttributes.includes(n)?(Xo.warn('Accessing "Node.attributes.'.concat(n,'" is deprecated, access it directly on the Node instance.')),Reflect.get(this,n)):Reflect.get(e,n,r)});var r,i;Un(e,n||this._knownDavService),this._data=gt(st({displayname:(r=e.attributes)==null?void 0:r.displayname},e),{attributes:{}}),this._attributes=new Proxy(this._data.attributes,this.handler),this.update((i=e.attributes)!=null?i:{}),n&&(this._knownDavService=n)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:e}=new URL(this.source);return e+Mo(this.source.slice(e.length))}get basename(){return ct.basename(this.source)}get displayname(){return this._data.displayname||this.basename}set displayname(e){this._data.displayname=e}get extension(){return ct.extname(this.source)}get dirname(){if(this.root){let n=this.source;this.isDavResource&&(n=n.split(this._knownDavService).pop());const r=n.indexOf(this.root),i=this.root.replace(/\/$/,"");return ct.dirname(n.slice(r+i.length)||"/")}const e=new URL(this.source);return ct.dirname(e.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}set mtime(e){this._data.mtime=e}get crtime(){return this._data.crtime}get size(){return this._data.size}set size(e){this.updateMtime(),this._data.size=e}get attributes(){return this._attributes}get permissions(){return this.owner===null&&!this.isDavResource?pt.READ:this._data.permissions!==void 0?this._data.permissions:pt.NONE}set permissions(e){this.updateMtime(),this._data.permissions=e}get owner(){return this.isDavResource?this._data.owner:null}get isDavResource(){return Or(this.source,this._knownDavService)}get isDavRessource(){return this.isDavResource}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavResource&&ct.dirname(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let e=this.source;this.isDavResource&&(e=e.split(this._knownDavService).pop());const n=e.indexOf(this.root),r=this.root.replace(/\/$/,"");return e.slice(n+r.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){var e;return(e=this._data)==null?void 0:e.id}get status(){var e;return(e=this._data)==null?void 0:e.status}set status(e){this._data.status=e}get data(){return structuredClone(this._data)}move(e){Un(gt(st({},this._data),{source:e}),this._knownDavService);const n=this.basename;this._data.source=e,this.displayname===n&&this.basename!==n&&(this.displayname=this.basename),this.updateMtime()}rename(e){if(e.includes("/"))throw new Error("Invalid basename");this.move(ct.dirname(this.source)+"/"+e)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}update(e){for(const[n,r]of Object.entries(e))try{r===void 0?delete this.attributes[n]:this.attributes[n]=r}catch(i){if(i instanceof TypeError)continue;throw i}}}class nn extends ge{get type(){return tn.File}clone(){return new nn(this.data)}}class rn extends ge{constructor(e){super(gt(st({},e),{mime:"httpd/unix-directory"}))}get type(){return tn.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}clone(){return new rn(this.data)}}const Wo=function(t=""){let e=pt.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=pt.CREATE),t.includes("G")&&(e|=pt.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=pt.UPDATE),t.includes("D")&&(e|=pt.DELETE),t.includes("R")&&(e|=pt.SHARE)),e},qo=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:creationdate","d:displayname","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],Ho={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},Ko=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...qo]),window._nc_dav_properties.map(t=>"<".concat(t," />")).join(" ")},Zo=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces=st({},Ho)),Object.keys(window._nc_dav_namespaces).map(t=>{var e;return"xmlns:".concat(t,'="').concat((e=window._nc_dav_namespaces)==null?void 0:e[t],'"')}).join(" ")},Yo=function(){return'\n \n \n ").concat(Ko(),"\n \n ")};function Jo(){var t;return Qe()?"/files/".concat(zo()):"/files/".concat((t=he())==null?void 0:t.uid)}const Qo=Jo();function ta(){const t=Dr("dav");return Qe()?t.replace("remote.php","public.php"):t}const Ir=ta(),ea=function(t=Ir,e={}){const n=ms(t,{headers:e});function r(i){n.setHeaders(gt(st({},e),{"X-Requested-With":"XMLHttpRequest",requesttoken:i!=null?i:""}))}return kr(r),r(Mr()),vs().patch("fetch",(i,s)=>{const u=s.headers;return u!=null&&u.method&&(s.method=u.method,delete u.method),fetch(i,s)}),n},na=function(t,e=Qo,n=Ir){var p,h;let r=(p=he())==null?void 0:p.uid;if(Qe())r=r!=null?r:"anonymous";else if(!r)throw new Error("No user id found");const i=t.props,s=Wo(i==null?void 0:i.permissions),u=String((i==null?void 0:i["owner-id"])||r),a=i.fileid||0,c=new Date(Date.parse(t.lastmod)),o=new Date(Date.parse(i.creationdate)),l={id:a,source:"".concat(n).concat(t.filename),mtime:!isNaN(c.getTime())&&c.getTime()!==0?c:void 0,crtime:!isNaN(o.getTime())&&o.getTime()!==0?o:void 0,mime:t.mime||"application/octet-stream",displayname:i.displayname!==void 0?String(i.displayname):void 0,size:(i==null?void 0:i.size)||Number.parseInt(i.getcontentlength||"0"),status:a<0?en.FAILED:void 0,permissions:s,owner:u,root:e,attributes:gt(st(st({},t),i),{hasPreview:i==null?void 0:i["has-preview"]})};return(h=l.attributes)==null||delete h.props,t.type==="file"?new nn(l):new rn(l)};var Te={},ra={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(a,c){const o=[];let l=c.exec(a);for(;l;){const p=[];p.startIndex=c.lastIndex-l[0].length;const h=l.length;for(let f=0;f"u")};t.isExist=function(a){return typeof a<"u"},t.isEmptyObject=function(a){return Object.keys(a).length===0},t.merge=function(a,c,o){if(c){const l=Object.keys(c),p=l.length;for(let h=0;hconsole.error("SEMVER",...t):()=>{};var sa=ia;const oa="2.0.0",Pr=256,aa=Number.MAX_SAFE_INTEGER||9007199254740991,ua=16,la=Pr-6,ca=["major","premajor","minor","preminor","patch","prepatch","prerelease"];var ha={MAX_LENGTH:Pr,MAX_SAFE_COMPONENT_LENGTH:ua,MAX_SAFE_BUILD_LENGTH:la,MAX_SAFE_INTEGER:aa,RELEASE_TYPES:ca,SEMVER_SPEC_VERSION:oa,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Bn={exports:{}};(function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=ha,s=sa;e=t.exports={};const u=e.re=[],a=e.safeRe=[],c=e.src=[],o=e.t={};let l=0;const p="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",i],[p,r]],f=g=>{for(const[v,E]of h)g=g.split("".concat(v,"*")).join("".concat(v,"{0,").concat(E,"}")).split("".concat(v,"+")).join("".concat(v,"{1,").concat(E,"}"));return g},d=(g,v,E)=>{const m=f(v),y=l++;s(g,y,v),o[g]=y,c[y]=v,u[y]=new RegExp(v,E?"g":void 0),a[y]=new RegExp(m,E?"g":void 0)};d("NUMERICIDENTIFIER","0|[1-9]\\d*"),d("NUMERICIDENTIFIERLOOSE","\\d+"),d("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-]".concat(p,"*")),d("MAINVERSION","(".concat(c[o.NUMERICIDENTIFIER],")\\.(").concat(c[o.NUMERICIDENTIFIER],")\\.(").concat(c[o.NUMERICIDENTIFIER],")")),d("MAINVERSIONLOOSE","(".concat(c[o.NUMERICIDENTIFIERLOOSE],")\\.(").concat(c[o.NUMERICIDENTIFIERLOOSE],")\\.(").concat(c[o.NUMERICIDENTIFIERLOOSE],")")),d("PRERELEASEIDENTIFIER","(?:".concat(c[o.NUMERICIDENTIFIER],"|").concat(c[o.NONNUMERICIDENTIFIER],")")),d("PRERELEASEIDENTIFIERLOOSE","(?:".concat(c[o.NUMERICIDENTIFIERLOOSE],"|").concat(c[o.NONNUMERICIDENTIFIER],")")),d("PRERELEASE","(?:-(".concat(c[o.PRERELEASEIDENTIFIER],"(?:\\.").concat(c[o.PRERELEASEIDENTIFIER],")*))")),d("PRERELEASELOOSE","(?:-?(".concat(c[o.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(c[o.PRERELEASEIDENTIFIERLOOSE],")*))")),d("BUILDIDENTIFIER","".concat(p,"+")),d("BUILD","(?:\\+(".concat(c[o.BUILDIDENTIFIER],"(?:\\.").concat(c[o.BUILDIDENTIFIER],")*))")),d("FULLPLAIN","v?".concat(c[o.MAINVERSION]).concat(c[o.PRERELEASE],"?").concat(c[o.BUILD],"?")),d("FULL","^".concat(c[o.FULLPLAIN],"$")),d("LOOSEPLAIN","[v=\\s]*".concat(c[o.MAINVERSIONLOOSE]).concat(c[o.PRERELEASELOOSE],"?").concat(c[o.BUILD],"?")),d("LOOSE","^".concat(c[o.LOOSEPLAIN],"$")),d("GTLT","((?:<|>)?=?)"),d("XRANGEIDENTIFIERLOOSE","".concat(c[o.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),d("XRANGEIDENTIFIER","".concat(c[o.NUMERICIDENTIFIER],"|x|X|\\*")),d("XRANGEPLAIN","[v=\\s]*(".concat(c[o.XRANGEIDENTIFIER],")(?:\\.(").concat(c[o.XRANGEIDENTIFIER],")(?:\\.(").concat(c[o.XRANGEIDENTIFIER],")(?:").concat(c[o.PRERELEASE],")?").concat(c[o.BUILD],"?)?)?")),d("XRANGEPLAINLOOSE","[v=\\s]*(".concat(c[o.XRANGEIDENTIFIERLOOSE],")(?:\\.(").concat(c[o.XRANGEIDENTIFIERLOOSE],")(?:\\.(").concat(c[o.XRANGEIDENTIFIERLOOSE],")(?:").concat(c[o.PRERELEASELOOSE],")?").concat(c[o.BUILD],"?)?)?")),d("XRANGE","^".concat(c[o.GTLT],"\\s*").concat(c[o.XRANGEPLAIN],"$")),d("XRANGELOOSE","^".concat(c[o.GTLT],"\\s*").concat(c[o.XRANGEPLAINLOOSE],"$")),d("COERCEPLAIN","(^|[^\\d])(\\d{1,".concat(n,"})(?:\\.(\\d{1,").concat(n,"}))?(?:\\.(\\d{1,").concat(n,"}))?")),d("COERCE","".concat(c[o.COERCEPLAIN],"(?:$|[^\\d])")),d("COERCEFULL",c[o.COERCEPLAIN]+"(?:".concat(c[o.PRERELEASE],")?(?:").concat(c[o.BUILD],")?(?:$|[^\\d])")),d("COERCERTL",c[o.COERCE],!0),d("COERCERTLFULL",c[o.COERCEFULL],!0),d("LONETILDE","(?:~>?)"),d("TILDETRIM","(\\s*)".concat(c[o.LONETILDE],"\\s+"),!0),e.tildeTrimReplace="$1~",d("TILDE","^".concat(c[o.LONETILDE]).concat(c[o.XRANGEPLAIN],"$")),d("TILDELOOSE","^".concat(c[o.LONETILDE]).concat(c[o.XRANGEPLAINLOOSE],"$")),d("LONECARET","(?:\\^)"),d("CARETTRIM","(\\s*)".concat(c[o.LONECARET],"\\s+"),!0),e.caretTrimReplace="$1^",d("CARET","^".concat(c[o.LONECARET]).concat(c[o.XRANGEPLAIN],"$")),d("CARETLOOSE","^".concat(c[o.LONECARET]).concat(c[o.XRANGEPLAINLOOSE],"$")),d("COMPARATORLOOSE","^".concat(c[o.GTLT],"\\s*(").concat(c[o.LOOSEPLAIN],")$|^$")),d("COMPARATOR","^".concat(c[o.GTLT],"\\s*(").concat(c[o.FULLPLAIN],")$|^$")),d("COMPARATORTRIM","(\\s*)".concat(c[o.GTLT],"\\s*(").concat(c[o.LOOSEPLAIN],"|").concat(c[o.XRANGEPLAIN],")"),!0),e.comparatorTrimReplace="$1$2$3",d("HYPHENRANGE","^\\s*(".concat(c[o.XRANGEPLAIN],")\\s+-\\s+(").concat(c[o.XRANGEPLAIN],")\\s*$")),d("HYPHENRANGELOOSE","^\\s*(".concat(c[o.XRANGEPLAINLOOSE],")\\s+-\\s+(").concat(c[o.XRANGEPLAINLOOSE],")\\s*$")),d("STAR","(<|>)?=?\\s*\\*"),d("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),d("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Bn,Bn.exports);const pa=t=>t===null?Re().setApp("end_to_end_encryption").build():Re().setApp("end_to_end_encryption").setUid(t.uid).build(),K=pa(he());function fa(t){return String.fromCharCode(...t)}function da(t){return Uint8Array.from(t,e=>e.charCodeAt(0))}function bt(t){return da(atob(t))}const Gn="apps/end_to_end_encryption/api/v2",Tr={PrivateKey:Gn+"/private-key",Metadata:Gn+"/meta-data/{fileId}"};async function ga(){const t=(await qn.get(Hn(Tr.PrivateKey),{headers:{"X-E2EE-SUPPORTED":"true"}})).data.ocs.data["private-key"],[e,n,r]=t.split("|");return{encryptedPrivateKey:bt(e),iv:bt(n),salt:bt(r)}}async function sn(t){const e=await qn.get(Hn(Tr.Metadata,{fileId:t}),{headers:{"X-E2EE-SUPPORTED":"true"}});return JSON.parse(e.data.ocs.data["meta-data"])}var ma=Object.defineProperty,Vn=Object.getOwnPropertySymbols,va=Object.prototype.hasOwnProperty,ya=Object.prototype.propertyIsEnumerable,zn=(t,e,n)=>e in t?ma(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ba=(t,e)=>{for(var n in e||(e={}))va.call(e,n)&&zn(t,n,e[n]);if(Vn)for(var n of Vn(e))ya.call(e,n)&&zn(t,n,e[n]);return t};async function on(t,e,n={}){return await self.crypto.subtle.decrypt(ba({name:"AES-GCM"},n),e,t)}async function Ea(t,e){return await self.crypto.subtle.decrypt({name:"RSA-OAEP"},e,t)}async function $r(t){return await self.crypto.subtle.importKey("raw",t,{name:"AES-GCM",length:128},!0,["decrypt","encrypt"])}async function wa(t){return await self.crypto.subtle.importKey("pkcs8",t,{name:"RSA-OAEP",hash:"SHA-256"},!0,["decrypt"])}async function xa(t,e){K.debug("Decrypting metadata info",{metadata:t});const[n,r]=t.metadata.ciphertext.split("|"),i=await on(bt(n),e,{iv:bt(r)});return JSON.parse(await Na(i))}async function Na(t){const e=new ReadableStream({start(n){n.enqueue(new Uint8Array(t)),n.close()}}).pipeThrough(new DecompressionStream("gzip"));return await new Response(e).text()}async function Aa(t,e,n){var r;K.debug("Getting metadata private key",{metadata:t,userId:e});const i=(r=t.users)==null?void 0:r.find(a=>a.userId===e);if(!i)throw new Error("User not found in metadata");const s=bt(i.encryptedMetadataKey),u=await Ea(s,n);return await $r(u)}const Oa="-----BEGIN PRIVATE KEY-----",Ia="-----END PRIVATE KEY-----";async function Pa(t,e){K.debug("Decrypting private key",{privateKeyInfo:t,mnemonic:e});const n=await Ta(e,t.salt),r=await on(t.encryptedPrivateKey,n,{iv:t.iv,tagLength:128});return $a(atob(fa(new Uint8Array(r))))}async function Ta(t,e){const n=await crypto.subtle.importKey("raw",new TextEncoder().encode(t.replaceAll(" ","")),{name:"PBKDF2"},!1,["deriveKey"]);return await crypto.subtle.deriveKey({name:"PBKDF2",salt:e,hash:"SHA-1",iterations:1024},n,{name:"AES-GCM",length:256},!0,["decrypt","encrypt"])}async function $a(t){K.debug("Loading PEM key",{pem:t});const e=t.substring(Oa.length,t.length-Ia.length-1).replace(/\n/g,"");return wa(bt(e))}const Ra={name:"AlertCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ca=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon alert-circle-outline-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Sa=[],_a=Ht(Ra,Ca,Sa,!1,null,null);const La=_a.exports,ja={name:"CheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Fa=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon check-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Da=[],ka=Ht(ja,Fa,Da,!1,null,null);const Ma=ka.exports,Ua={name:"NcInputField",components:{NcButton:Ur,AlertCircle:La,Check:Ma},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{value:{type:[String,Number],default:void 0},modelValue:{type:[String,Number],default:void 0},type:{type:String,default:"text",validator:t=>["text","password","email","tel","url","search","number"].includes(t)},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:""},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:""},disabled:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["update:value","update:modelValue","update:model-value","trailing-button-click"],setup(){return{model:Kn("value","update:value",!0)}},computed:{computedId(){return this.$attrs.id&&this.$attrs.id!==""?this.$attrs.id:this.inputName},inputName(){return"input"+Br()},hasLeadingIcon(){return this.$slots.default},hasTrailingIcon(){return this.success},hasPlaceholder(){return this.placeholder!==""&&this.placeholder!==void 0},computedPlaceholder(){return this.hasPlaceholder?this.placeholder:this.label},isValidLabel(){const t=this.label||this.labelOutside;return t||console.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation."),t},ariaDescribedby(){const t=[];return this.helperText.length>0&&t.push("".concat(this.inputName,"-helper-text")),this.$attrs["aria-describedby"]&&t.push(this.$attrs["aria-describedby"]),t.join(" ")||null}},methods:{focus(){this.$refs.input.focus()},select(){this.$refs.input.select()},handleInput(t){const e=this.type==="number"&&typeof this.model=="number"?parseFloat(t.target.value,10):t.target.value;this.model=e},handleTrailingButtonClick(t){this.$emit("trailing-button-click",t)}}};var Ba=function(){var n;var t=this,e=t._self._c;return e("div",{staticClass:"input-field",class:{"input-field--disabled":t.disabled,"input-field--label-outside":t.labelOutside||!t.isValidLabel,"input-field--leading-icon":t.hasLeadingIcon,"input-field--trailing-icon":t.showTrailingButton||t.hasTrailingIcon,"input-field--pill":t.pill}},[e("div",{staticClass:"input-field__main-wrapper"},[e("input",t._g(t._b({ref:"input",staticClass:"input-field__input",class:[t.inputClass,{"input-field__input--success":t.success,"input-field__input--error":t.error}],attrs:{id:t.computedId,type:t.type,disabled:t.disabled,placeholder:t.computedPlaceholder,"aria-describedby":t.ariaDescribedby,"aria-live":"polite"},domProps:{value:(n=t.model)==null?void 0:n.toString()},on:{input:t.handleInput}},"input",t.$attrs,!1),t.$listeners)),!t.labelOutside&&t.isValidLabel?e("label",{staticClass:"input-field__label",attrs:{for:t.computedId}},[t._v(" "+t._s(t.label)+" ")]):t._e(),e("div",{directives:[{name:"show",rawName:"v-show",value:t.hasLeadingIcon,expression:"hasLeadingIcon"}],staticClass:"input-field__icon input-field__icon--leading"},[t._t("default")],2),t.showTrailingButton?e("NcButton",{staticClass:"input-field__trailing-button",attrs:{type:"tertiary-no-background","aria-label":t.trailingButtonLabel,disabled:t.disabled},on:{click:t.handleTrailingButtonClick},scopedSlots:t._u([{key:"icon",fn:function(){return[t._t("trailing-button-icon")]},proxy:!0}],null,!0)}):t.success||t.error?e("div",{staticClass:"input-field__icon input-field__icon--trailing"},[t.success?e("Check",{staticStyle:{color:"var(--color-success-text)"},attrs:{size:20}}):t.error?e("AlertCircle",{staticStyle:{color:"var(--color-error-text)"},attrs:{size:20}}):t._e()],1):t._e()],1),t.helperText.length>0?e("p",{staticClass:"input-field__helper-text-message",class:{"input-field__helper-text-message--error":t.error,"input-field__helper-text-message--success":t.success},attrs:{id:"".concat(t.inputName,"-helper-text")}},[t.success?e("Check",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):t.error?e("AlertCircle",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):t._e(),t._v(" "+t._s(t.helperText)+" ")],1):t._e()])},Ga=[],Va=Ht(Ua,Ba,Ga,!1,null,"e4fac465");const Ue=Va.exports,za={name:"UndoVariantIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Xa=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon undo-variant-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},Wa=[],qa=Ht(za,Xa,Wa,!1,null,null);const Ha=qa.exports;Gr(Xr,zr);const Ka=new Set(Object.keys(Ue.props)),Za={name:"NcTextField",components:{NcInputField:Ue,Close:Vr,ArrowRight:Jr,Undo:Ha},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:gt(st({" ":{}},Ue.props),{trailingButtonLabel:{type:String,default:""},trailingButtonIcon:{type:String,default:"close",validator:t=>["close","arrowRight","undo"].includes(t)}}),emits:["update:value","update:modelValue","update:model-value"],setup(){return{model:Kn("value","update:value")}},computed:{propsAndAttrsToForward(){const t={undo:ye("Undo changes"),close:ye("Clear text"),arrowRight:ye("Save changes")};return gt(st(st({},this.$attrs),Object.fromEntries(Object.entries(this.$props).filter(([e])=>Ka.has(e)))),{trailingButtonLabel:this.trailingButtonLabel||t[this.trailingButtonIcon]})}},methods:{focus(){this.$refs.inputField.focus()},select(){this.$refs.inputField.select()}}};var Ya=function(){var t=this,e=t._self._c;return e("NcInputField",t._g(t._b({ref:"inputField",scopedSlots:t._u([t.type!=="search"?{key:"trailing-button-icon",fn:function(){return[t.trailingButtonIcon==="close"?e("Close",{attrs:{size:20}}):t.trailingButtonIcon==="arrowRight"?e("ArrowRight",{attrs:{size:20}}):t.trailingButtonIcon==="undo"?e("Undo",{attrs:{size:20}}):t._e()]},proxy:!0}:null],null,!0)},"NcInputField",t.propsAndAttrsToForward,!1),t.$listeners),[t._t("default")],2)},Ja=[],Qa=Ht(Za,Ya,Ja,!1,null,null);const tu=Qa.exports,eu=Wr({__name:"MnemonicPromptDialog",emits:["close"],setup(t,{emit:e}){const n=qr("");function r(){if(n.value.trim().split(/\s+/g).length!==12)throw new Error("Mnemonic must be 12 words long");e("close",n.value)}const i=Hr(()=>[{label:hn("end_to_en_encryption","Submit"),nativeType:"submit",type:"primary",callback:r}]);return{__sfc:!0,emit:e,mnemonic:n,submit:r,buttons:i,t:hn,NcDialog:Kr,NcTextField:tu}}});var nu=function(){var t=this,e=t._self._c,n=t._self._setupProxy;return e(n.NcDialog,{attrs:{name:n.t("end_to_end_encryption","Enter your 12 words mnemonic"),buttons:n.buttons,"is-form":!0},on:{submit:n.submit}},[e(n.NcTextField,{attrs:{value:n.mnemonic,label:n.t("end_to_end_encryption","Mnemonic"),autofocus:!0,required:!0},on:{"update:value":function(r){n.mnemonic=r}}})],1)},ru=[],iu=Zr(eu,nu,ru,!1,null,null);const su=iu.exports;async function ou(){const t=Promise.withResolvers();return Yr(su,void 0,e=>{e!==void 0?t.resolve(e):t.reject()}),t.promise}let Wt;const au=ea();let $e;const ft={};function uu(){Wt=window.fetch,K.debug("Setting up WebDAV decryption proxy"),window.fetch=async(t,e={})=>{let n=new Request(t,e);if(!(n.url.includes("/remote.php/")&&(n.method==="GET"||n.method==="PROPFIND")))return Wt(n);K.debug("Proxying ".concat(n.method," ").concat(n.url),{request:n});const r=new Headers(n.headers);switch(r.set("X-E2EE-SUPPORTED","true"),n=new Request(n,{headers:r}),n.method){case"PROPFIND":return cu(n);case"GET":default:return lu(n)}}}async function lu(t){const e=new URL(t.url).pathname,n=await Be(e);if(n===void 0)return K.debug("File is not part of e2ee folder",{path:e}),Wt(t);const r=await ne(ct.dirname(e),n),i=r.files[ct.basename(t.url)];if(i===void 0)throw K.debug("Could not find metadata info",{path:e,metadataInfo:r}),new Error("Could not find file in metadata");return K.debug("Fetching encrypted file",{request:t}),await hu(await Wt(t),i)}async function cu(t){var e,n;K.debug("Fetching raw PROPFIND",{request:t});const r=await Wt(t),i=new URL(t.url).pathname,s=await r.text(),u=await bs(s),a=ys(u,i,!0);let c=i;if(a.type==="directory"){if(((e=a.props)==null?void 0:e["is-encrypted"])!==1)return K.debug("Folder is not e2ee",{xml:u}),new Response(s,r);ft[i]=await sn((n=a.props)==null?void 0:n.fileid);const o=await Be(c);if(o===void 0)return K.debug("Cannot find root E2EE folder",{path:i}),new Response(s,r);const l=await ne(c,o);let p;try{p=await ne(ct.dirname(c),o)}catch(h){}Xn(u,i,l,p)}if(a.type==="file"){c=ct.dirname(i);const o=await Be(c);if(o===void 0)return K.debug("Cannot find root E2EE folder",{path:i}),new Response(s,r);Xn(u,i,void 0,await ne(c,o))}return new Response(new ko.XMLBuilder().build(u),r)}function Xn(t,e,n,r){K.debug("Updating PROPFIND info",{folderPath:e,metadataInfo:n,parentMetadataInfo:r,xml:t}),t.multistatus.response.forEach(i=>{if(i.propstat===void 0)return;let s=n;if(i.href===e&&r&&(s=r),s===void 0)return;const u=i.propstat.prop.displayname;let a=u;s.files[u]?(a=s.files[u].filename,i.propstat.prop.getcontenttype=s.files[u].mimetype):s.folders[u]&&(a=s.folders[u],i.propstat.prop.getcontenttype="httpd/unix-directory"),i.propstat.prop.displayname=a,i.propstat.prop.permissions=i.propstat.prop.permissions.replace(/(R)|(D)|(N)|(V)|(W)|(CK)/g,"")})}async function hu(t,e){const n=await on(new Uint8Array(await t.arrayBuffer()),await $r(bt(e.key)),{iv:bt(e.nonce)});return new Response(n,t)}async function ne(t,e){K.debug("Getting metadata info",{path:t});const n=he();if(!n)throw new Error("No user logged in");return $e===void 0&&($e=await Pa(await ga(),await ou())),await xa(await pu(t),await Aa(e,n.uid,$e))}async function Rr(t){K.debug("Getting file id",{path:t});const e=await au.stat(decodeURI(t).replace("remote.php/dav/",""),{details:!0,data:Yo()}),n=na(e.data);if(!n.fileid)throw new Error("File ID not found");return String(n.fileid)}async function pu(t){return K.debug("Getting metadata",{path:t,metadataCache:ft}),ft[t]||(ft[t]=await sn(await Rr(t))),ft[t]}async function Be(t){var e;K.debug("Getting root metadata",{path:t,metadataCache:ft});const n=Object.entries(ft).filter(([,r])=>r.users!==void 0).find(([r])=>t.startsWith(r));if(n)return n[1];for(;t!=="/";){if((e=ft[t])!=null||(ft[t]=await sn(await Rr(t))),ft[t].users!==void 0)return ft[t];t=ct.dirname(t)}}uu(); diff --git a/js/end_to_end_encryption-files.mjs.map b/js/end_to_end_encryption-files.mjs.map index 48c7bf06..c8ffd442 100644 --- a/js/end_to_end_encryption-files.mjs.map +++ b/js/end_to_end_encryption-files.mjs.map @@ -1 +1 @@ -{"version":3,"file":"end_to_end_encryption-files.mjs","sources":["../node_modules/webdav/dist/web/index.js","../node_modules/fast-xml-parser/src/util.js","../node_modules/fast-xml-parser/src/validator.js","../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","../node_modules/strnum/strnum.js","../node_modules/fast-xml-parser/src/ignoreAttributes.js","../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","../node_modules/fast-xml-parser/src/xmlparser/node2json.js","../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","../node_modules/fast-xml-parser/src/fxp.js","../node_modules/@nextcloud/paths/dist/index.mjs","../node_modules/cancelable-promise/esm/CancelablePromise.mjs","../node_modules/@nextcloud/sharing/dist/public.mjs","../node_modules/@nextcloud/files/dist/chunks/dav-Co9y-hkg.mjs","../node_modules/@nextcloud/files/dist/index.mjs","../src/services/logger.ts","../src/services/utils.ts","../src/services/api.ts","../src/services/crypto.ts","../src/services/metadataUtils.ts","../src/services/privateKeyUtils.ts","../node_modules/@nextcloud/vue/dist/chunks/AlertCircleOutline-DBxbepLy.mjs","../node_modules/@nextcloud/vue/dist/chunks/Check-BkThHPH7.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-ixTTHy3h.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcTextField-8RXOuqAy.mjs","../src/components/MnemonicPromptDialog.vue","../src/services/mnemonicDialogs.ts","../src/services/webDavProxy.ts","../src/files.ts"],"sourcesContent":["/*! For license information please see index.js.LICENSE.txt */\nvar t={2:t=>{function e(t,e,o){t instanceof RegExp&&(t=n(t,o)),e instanceof RegExp&&(e=n(e,o));var i=r(t,e,o);return i&&{start:i[0],end:i[1],pre:o.slice(0,i[0]),body:o.slice(i[0]+t.length,i[1]),post:o.slice(i[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,o,i,s,a,u=n.indexOf(t),c=n.indexOf(e,u+1),l=u;if(u>=0&&c>0){for(r=[],i=n.length;l>=0&&!a;)l==u?(r.push(l),u=n.indexOf(t,l+1)):1==r.length?a=[r.pop(),c]:((o=r.pop())=0?u:c;r.length&&(a=[i,s])}return a}t.exports=e,e.range=r},101:function(t,e,n){var r;t=n.nmd(t),function(o){var i=(t&&t.exports,\"object\"==typeof global&&global);i.global!==i&&i.window;var s=function(t){this.message=t};(s.prototype=new Error).name=\"InvalidCharacterError\";var a=function(t){throw new s(t)},u=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=/[\\t\\n\\f\\r ]/g,l={encode:function(t){t=String(t),/[^\\0-\\xFF]/.test(t)&&a(\"The string to be encoded contains characters outside of the Latin1 range.\");for(var e,n,r,o,i=t.length%3,s=\"\",c=-1,l=t.length-i;++c>18&63)+u.charAt(o>>12&63)+u.charAt(o>>6&63)+u.charAt(63&o);return 2==i?(e=t.charCodeAt(c)<<8,n=t.charCodeAt(++c),s+=u.charAt((o=e+n)>>10)+u.charAt(o>>4&63)+u.charAt(o<<2&63)+\"=\"):1==i&&(o=t.charCodeAt(c),s+=u.charAt(o>>2)+u.charAt(o<<4&63)+\"==\"),s},decode:function(t){var e=(t=String(t).replace(c,\"\")).length;e%4==0&&(e=(t=t.replace(/==?$/,\"\")).length),(e%4==1||/[^+a-zA-Z0-9/]/.test(t))&&a(\"Invalid character: the string to be decoded is not correctly encoded.\");for(var n,r,o=0,i=\"\",s=-1;++s>(-2*o&6)));return i},version:\"1.0.0\"};void 0===(r=function(){return l}.call(e,n,e,t))||(t.exports=r)}()},172:(t,e)=>{e.d=function(t){if(!t)return 0;for(var e=(t=t.toString()).length,n=t.length;n--;){var r=t.charCodeAt(n);56320<=r&&r<=57343&&n--,127{var e={utf8:{stringToBytes:function(t){return e.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(e.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n{var e,n;e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n={rotl:function(t,e){return t<>>32-e},rotr:function(t,e){return t<<32-e|t>>>e},endian:function(t){if(t.constructor==Number)return 16711935&n.rotl(t,8)|4278255360&n.rotl(t,24);for(var e=0;e0;t--)e.push(Math.floor(256*Math.random()));return e},bytesToWords:function(t){for(var e=[],n=0,r=0;n>>5]|=t[n]<<24-r%32;return e},wordsToBytes:function(t){for(var e=[],n=0;n<32*t.length;n+=8)e.push(t[n>>>5]>>>24-n%32&255);return e},bytesToHex:function(t){for(var e=[],n=0;n>>4).toString(16)),e.push((15&t[n]).toString(16));return e.join(\"\")},hexToBytes:function(t){for(var e=[],n=0;n>>6*(3-i)&63)):n.push(\"=\");return n.join(\"\")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\\/]/gi,\"\");for(var n=[],r=0,o=0;r>>6-2*o);return n}},t.exports=n},635:(t,e,n)=>{const r=n(31),o=n(338),i=n(221);t.exports={XMLParser:o,XMLValidator:r,XMLBuilder:i}},705:(t,e)=>{const n=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",r=\"[\"+n+\"][\"+n+\"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*\",o=new RegExp(\"^\"+r+\"$\");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,n){if(e){const r=Object.keys(e),o=r.length;for(let i=0;i{const r=n(705),o={allowBooleanAttributes:!1,unpairedTags:[]};function i(t){return\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t}function s(t,e){const n=e;for(;e5&&\"xml\"===r)return d(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",m(t,e));if(\"?\"==t[e]&&\">\"==t[e+1]){e++;break}}return e}function a(t,e){if(t.length>e+5&&\"-\"===t[e+1]&&\"-\"===t[e+2]){for(e+=3;e\"===t[e+2]){e+=2;break}}else if(t.length>e+8&&\"D\"===t[e+1]&&\"O\"===t[e+2]&&\"C\"===t[e+3]&&\"T\"===t[e+4]&&\"Y\"===t[e+5]&&\"P\"===t[e+6]&&\"E\"===t[e+7]){let n=1;for(e+=8;e\"===t[e]&&(n--,0===n))break}else if(t.length>e+9&&\"[\"===t[e+1]&&\"C\"===t[e+2]&&\"D\"===t[e+3]&&\"A\"===t[e+4]&&\"T\"===t[e+5]&&\"A\"===t[e+6]&&\"[\"===t[e+7])for(e+=8;e\"===t[e+2]){e+=2;break}return e}e.validate=function(t,e){e=Object.assign({},o,e);const n=[];let u=!1,c=!1;\"\\ufeff\"===t[0]&&(t=t.substr(1));for(let o=0;o\"!==t[o]&&\" \"!==t[o]&&\"\\t\"!==t[o]&&\"\\n\"!==t[o]&&\"\\r\"!==t[o];o++)v+=t[o];if(v=v.trim(),\"/\"===v[v.length-1]&&(v=v.substring(0,v.length-1),o--),h=v,!r.isName(h)){let e;return e=0===v.trim().length?\"Invalid space after '<'.\":\"Tag '\"+v+\"' is an invalid name.\",d(\"InvalidTag\",e,m(t,o))}const b=l(t,o);if(!1===b)return d(\"InvalidAttr\",\"Attributes for '\"+v+\"' have open quote.\",m(t,o));let w=b.value;if(o=b.index,\"/\"===w[w.length-1]){const n=o-w.length;w=w.substring(0,w.length-1);const r=p(w,e);if(!0!==r)return d(r.err.code,r.err.msg,m(t,n+r.err.line));u=!0}else if(y){if(!b.tagClosed)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' doesn't have proper closing.\",m(t,o));if(w.trim().length>0)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' can't have attributes or invalid starting.\",m(t,g));if(0===n.length)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' has not been opened.\",m(t,g));{const e=n.pop();if(v!==e.tagName){let n=m(t,e.tagStartPos);return d(\"InvalidTag\",\"Expected closing tag '\"+e.tagName+\"' (opened in line \"+n.line+\", col \"+n.col+\") instead of closing tag '\"+v+\"'.\",m(t,g))}0==n.length&&(c=!0)}}else{const r=p(w,e);if(!0!==r)return d(r.err.code,r.err.msg,m(t,o-w.length+r.err.line));if(!0===c)return d(\"InvalidXml\",\"Multiple possible root nodes found.\",m(t,o));-1!==e.unpairedTags.indexOf(v)||n.push({tagName:v,tagStartPos:g}),u=!0}for(o++;o0)||d(\"InvalidXml\",\"Invalid '\"+JSON.stringify(n.map((t=>t.tagName)),null,4).replace(/\\r?\\n/g,\"\")+\"' found.\",{line:1,col:1}):d(\"InvalidXml\",\"Start tag expected.\",1)};const u='\"',c=\"'\";function l(t,e){let n=\"\",r=\"\",o=!1;for(;e\"===t[e]&&\"\"===r){o=!0;break}n+=t[e]}return\"\"===r&&{value:n,index:e,tagClosed:o}}const h=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function p(t,e){const n=r.getAllMatches(t,h),o={};for(let t=0;t{const r=n(87),o={attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:\" \",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp(\"&\",\"g\"),val:\"&\"},{regex:new RegExp(\">\",\"g\"),val:\">\"},{regex:new RegExp(\"<\",\"g\"),val:\"<\"},{regex:new RegExp(\"'\",\"g\"),val:\"'\"},{regex:new RegExp('\"',\"g\"),val:\""\"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function i(t){this.options=Object.assign({},o,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=u),this.processTextOrObjNode=s,this.options.format?(this.indentate=a,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\")}function s(t,e,n){const r=this.j2x(t,n+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,n):this.buildObjectNode(r.val,e,r.attrStr,n)}function a(t){return this.options.indentBy.repeat(t)}function u(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}i.prototype.build=function(t){return this.options.preserveOrder?r(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},i.prototype.j2x=function(t,e){let n=\"\",r=\"\";for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))if(void 0===t[o])this.isAttribute(o)&&(r+=\"\");else if(null===t[o])this.isAttribute(o)?r+=\"\":\"?\"===o[0]?r+=this.indentate(e)+\"<\"+o+\"?\"+this.tagEndChar:r+=this.indentate(e)+\"<\"+o+\"/\"+this.tagEndChar;else if(t[o]instanceof Date)r+=this.buildTextValNode(t[o],o,\"\",e);else if(\"object\"!=typeof t[o]){const i=this.isAttribute(o);if(i)n+=this.buildAttrPairStr(i,\"\"+t[o]);else if(o===this.options.textNodeName){let e=this.options.tagValueProcessor(o,\"\"+t[o]);r+=this.replaceEntitiesValue(e)}else r+=this.buildTextValNode(t[o],o,\"\",e)}else if(Array.isArray(t[o])){const n=t[o].length;let i=\"\",s=\"\";for(let a=0;a\"+t+o}},i.prototype.closeTag=function(t){let e=\"\";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e=\"/\"):e=this.options.suppressEmptyNode?\"/\":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(r)+`\\x3c!--${t}--\\x3e`+this.newLine;if(\"?\"===e[0])return this.indentate(r)+\"<\"+e+n+\"?\"+this.tagEndChar;{let o=this.options.tagValueProcessor(e,t);return o=this.replaceEntitiesValue(o),\"\"===o?this.indentate(r)+\"<\"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+\"<\"+e+n+\">\"+o+\"0&&this.options.processEntities)for(let e=0;e{function e(t,s,a,u){let c=\"\",l=!1;for(let h=0;h`,l=!1;continue}if(f===s.commentPropName){c+=u+`\\x3c!--${p[f][0][s.textNodeName]}--\\x3e`,l=!0;continue}if(\"?\"===f[0]){const t=r(p[\":@\"],s),e=\"?xml\"===f?\"\":u;let n=p[f][0][s.textNodeName];n=0!==n.length?\" \"+n:\"\",c+=e+`<${f}${n}${t}?>`,l=!0;continue}let g=u;\"\"!==g&&(g+=s.indentBy);const m=u+`<${f}${r(p[\":@\"],s)}`,y=e(p[f],s,d,g);-1!==s.unpairedTags.indexOf(f)?s.suppressUnpairedNode?c+=m+\">\":c+=m+\"/>\":y&&0!==y.length||!s.suppressEmptyNode?y&&y.endsWith(\">\")?c+=m+`>${y}${u}`:(c+=m+\">\",y&&\"\"!==u&&(y.includes(\"/>\")||y.includes(\"`):c+=m+\"/>\",l=!0}return c}function n(t){const e=Object.keys(t);for(let n=0;n0&&e.processEntities)for(let n=0;n0&&(r=\"\\n\"),e(t,n,\"\",r)}},193:(t,e,n)=>{const r=n(705);function o(t,e){let n=\"\";for(;e\"===t[e]){if(p?\"-\"===t[e-1]&&\"-\"===t[e-2]&&(p=!1,r--):r--,0===r)break}else\"[\"===t[e]?h=!0:f+=t[e];else{if(h&&s(t,e))e+=7,[entityName,val,e]=o(t,e+1),-1===val.indexOf(\"&\")&&(n[l(entityName)]={regx:RegExp(`&${entityName};`,\"g\"),val});else if(h&&a(t,e))e+=8;else if(h&&u(t,e))e+=8;else if(h&&c(t,e))e+=9;else{if(!i)throw new Error(\"Invalid DOCTYPE\");p=!0}r++,f=\"\"}if(0!==r)throw new Error(\"Unclosed DOCTYPE\")}return{entities:n,i:e}}},63:(t,e)=>{const n={preserveOrder:!1,attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}};e.buildOptions=function(t){return Object.assign({},n,t)},e.defaultOptions=n},299:(t,e,n)=>{const r=n(705),o=n(365),i=n(193),s=n(494);function a(t){const e=Object.keys(t);for(let n=0;n0)){s||(t=this.replaceEntitiesValue(t));const r=this.options.tagValueProcessor(e,t,n,o,i);return null==r?t:typeof r!=typeof t||r!==t?r:this.options.trimValues||t.trim()===t?w(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function c(t){if(this.options.removeNSPrefix){const e=t.split(\":\"),n=\"/\"===t.charAt(0)?\"/\":\"\";if(\"xmlns\"===e[0])return\"\";2===e.length&&(t=n+e[1])}return t}const l=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])([\\\\s\\\\S]*?)\\\\3)?\",\"gm\");function h(t,e,n){if(!this.options.ignoreAttributes&&\"string\"==typeof t){const n=r.getAllMatches(t,l),o=n.length,i={};for(let t=0;t\",a,\"Closing Tag is not closed.\");let o=t.substring(a+2,e).trim();if(this.options.removeNSPrefix){const t=o.indexOf(\":\");-1!==t&&(o=o.substr(t+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(r=this.saveTextToParentTag(r,n,s));const i=s.substring(s.lastIndexOf(\".\")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: `);let u=0;i&&-1!==this.options.unpairedTags.indexOf(i)?(u=s.lastIndexOf(\".\",s.lastIndexOf(\".\")-1),this.tagsNodeStack.pop()):u=s.lastIndexOf(\".\"),s=s.substring(0,u),n=this.tagsNodeStack.pop(),r=\"\",a=e}else if(\"?\"===t[a+1]){let e=v(t,a,!1,\"?>\");if(!e)throw new Error(\"Pi Tag is not closed.\");if(r=this.saveTextToParentTag(r,n,s),this.options.ignoreDeclaration&&\"?xml\"===e.tagName||this.options.ignorePiTags);else{const t=new o(e.tagName);t.add(this.options.textNodeName,\"\"),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[\":@\"]=this.buildAttributesMap(e.tagExp,s,e.tagName)),this.addChild(n,t,s)}a=e.closeIndex+1}else if(\"!--\"===t.substr(a+1,3)){const e=y(t,\"--\\x3e\",a+4,\"Comment is not closed.\");if(this.options.commentPropName){const o=t.substring(a+4,e-2);r=this.saveTextToParentTag(r,n,s),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}a=e}else if(\"!D\"===t.substr(a+1,2)){const e=i(t,a);this.docTypeEntities=e.entities,a=e.i}else if(\"![\"===t.substr(a+1,2)){const e=y(t,\"]]>\",a,\"CDATA is not closed.\")-2,o=t.substring(a+9,e);r=this.saveTextToParentTag(r,n,s);let i=this.parseTextData(o,n.tagname,s,!0,!1,!0,!0);null==i&&(i=\"\"),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):n.add(this.options.textNodeName,i),a=e+2}else{let i=v(t,a,this.options.removeNSPrefix),u=i.tagName;const c=i.rawTagName;let l=i.tagExp,h=i.attrExpPresent,p=i.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&r&&\"!xml\"!==n.tagname&&(r=this.saveTextToParentTag(r,n,s,!1));const f=n;if(f&&-1!==this.options.unpairedTags.indexOf(f.tagname)&&(n=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf(\".\"))),u!==e.tagname&&(s+=s?\".\"+u:u),this.isItStopNode(this.options.stopNodes,s,u)){let e=\"\";if(l.length>0&&l.lastIndexOf(\"/\")===l.length-1)\"/\"===u[u.length-1]?(u=u.substr(0,u.length-1),s=s.substr(0,s.length-1),l=u):l=l.substr(0,l.length-1),a=i.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))a=i.closeIndex;else{const n=this.readStopNodeData(t,c,p+1);if(!n)throw new Error(`Unexpected end of ${c}`);a=n.i,e=n.tagContent}const r=new o(u);u!==l&&h&&(r[\":@\"]=this.buildAttributesMap(l,s,u)),e&&(e=this.parseTextData(e,u,s,!0,h,!0,!0)),s=s.substr(0,s.lastIndexOf(\".\")),r.add(this.options.textNodeName,e),this.addChild(n,r,s)}else{if(l.length>0&&l.lastIndexOf(\"/\")===l.length-1){\"/\"===u[u.length-1]?(u=u.substr(0,u.length-1),s=s.substr(0,s.length-1),l=u):l=l.substr(0,l.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));const t=new o(u);u!==l&&h&&(t[\":@\"]=this.buildAttributesMap(l,s,u)),this.addChild(n,t,s),s=s.substr(0,s.lastIndexOf(\".\"))}else{const t=new o(u);this.tagsNodeStack.push(n),u!==l&&h&&(t[\":@\"]=this.buildAttributesMap(l,s,u)),this.addChild(n,t,s),n=t}r=\"\",a=p}}else r+=t[a];return e.child};function f(t,e,n){const r=this.options.updateTag(e.tagname,n,e[\":@\"]);!1===r||(\"string\"==typeof r?(e.tagname=r,t.addChild(e)):t.addChild(e))}const d=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function g(t,e,n,r){return t&&(void 0===r&&(r=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,n,!1,!!e[\":@\"]&&0!==Object.keys(e[\":@\"]).length,r))&&\"\"!==t&&e.add(this.options.textNodeName,t),t=\"\"),t}function m(t,e,n){const r=\"*.\"+n;for(const n in t){const o=t[n];if(r===o||e===o)return!0}return!1}function y(t,e,n,r){const o=t.indexOf(e,n);if(-1===o)throw new Error(r);return o+e.length-1}function v(t,e,n){const r=function(t,e){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\">\",o=\"\";for(let i=e;i3&&void 0!==arguments[3]?arguments[3]:\">\");if(!r)return;let o=r.data;const i=r.index,s=o.search(/\\s/);let a=o,u=!0;-1!==s&&(a=o.substring(0,s),o=o.substring(s+1).trimStart());const c=a;if(n){const t=a.indexOf(\":\");-1!==t&&(a=a.substr(t+1),u=a!==r.data.substr(t+1))}return{tagName:a,tagExp:o,closeIndex:i,attrExpPresent:u,rawTagName:c}}function b(t,e,n){const r=n;let o=1;for(;n\",n,`${e} is not closed`);if(t.substring(n+2,i).trim()===e&&(o--,0===o))return{tagContent:t.substring(r,n),i};n=i}else if(\"?\"===t[n+1])n=y(t,\"?>\",n+1,\"StopNode is not closed.\");else if(\"!--\"===t.substr(n+1,3))n=y(t,\"--\\x3e\",n+3,\"StopNode is not closed.\");else if(\"![\"===t.substr(n+1,2))n=y(t,\"]]>\",n,\"StopNode is not closed.\")-2;else{const r=v(t,n,\">\");r&&((r&&r.tagName)===e&&\"/\"!==r.tagExp[r.tagExp.length-1]&&o++,n=r.closeIndex)}}function w(t,e,n){if(e&&\"string\"==typeof t){const e=t.trim();return\"true\"===e||\"false\"!==e&&s(t,n)}return r.isExist(t)?t:\"\"}t.exports=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:\"'\"},gt:{regex:/&(gt|#62|#x3E);/g,val:\">\"},lt:{regex:/&(lt|#60|#x3C);/g,val:\"<\"},quot:{regex:/&(quot|#34|#x22);/g,val:'\"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:\"&\"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:\" \"},cent:{regex:/&(cent|#162);/g,val:\"¢\"},pound:{regex:/&(pound|#163);/g,val:\"£\"},yen:{regex:/&(yen|#165);/g,val:\"¥\"},euro:{regex:/&(euro|#8364);/g,val:\"€\"},copyright:{regex:/&(copy|#169);/g,val:\"©\"},reg:{regex:/&(reg|#174);/g,val:\"®\"},inr:{regex:/&(inr|#8377);/g,val:\"₹\"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,16))}},this.addExternalEntities=a,this.parseXml=p,this.parseTextData=u,this.resolveNameSpace=c,this.buildAttributesMap=h,this.isItStopNode=m,this.replaceEntitiesValue=d,this.readStopNodeData=b,this.saveTextToParentTag=g,this.addChild=f}}},338:(t,e,n)=>{const{buildOptions:r}=n(63),o=n(299),{prettify:i}=n(728),s=n(31);t.exports=class{constructor(t){this.externalEntities={},this.options=r(t)}parse(t,e){if(\"string\"==typeof t);else{if(!t.toString)throw new Error(\"XML data is accepted in String or Bytes[] form.\");t=t.toString()}if(e){!0===e&&(e={});const n=s.validate(t,e);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new o(this.options);n.addExternalEntities(this.externalEntities);const r=n.parseXml(t);return this.options.preserveOrder||void 0===r?r:i(r,this.options)}addEntity(t,e){if(-1!==e.indexOf(\"&\"))throw new Error(\"Entity value can't have '&'\");if(-1!==t.indexOf(\"&\")||-1!==t.indexOf(\";\"))throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");if(\"&\"===e)throw new Error(\"An entity with value '&' is not permitted\");this.externalEntities[t]=e}}},728:(t,e)=>{function n(t,e,s){let a;const u={};for(let c=0;c0&&(u[e.textNodeName]=a):void 0!==a&&(u[e.textNodeName]=a),u}function r(t){const e=Object.keys(t);for(let t=0;t{t.exports=class{constructor(t){this.tagname=t,this.child=[],this[\":@\"]={}}add(t,e){\"__proto__\"===t&&(t=\"#__proto__\"),this.child.push({[t]:e})}addChild(t){\"__proto__\"===t.tagname&&(t.tagname=\"#__proto__\"),t[\":@\"]&&Object.keys(t[\":@\"]).length>0?this.child.push({[t.tagname]:t.child,\":@\":t[\":@\"]}):this.child.push({[t.tagname]:t.child})}}},135:t=>{function e(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}t.exports=function(t){return null!=t&&(e(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&e(t.slice(0,0))}(t)||!!t._isBuffer)}},542:(t,e,n)=>{!function(){var e=n(298),r=n(526).utf8,o=n(135),i=n(526).bin,s=function(t,n){t.constructor==String?t=n&&\"binary\"===n.encoding?i.stringToBytes(t):r.stringToBytes(t):o(t)?t=Array.prototype.slice.call(t,0):Array.isArray(t)||t.constructor===Uint8Array||(t=t.toString());for(var a=e.bytesToWords(t),u=8*t.length,c=1732584193,l=-271733879,h=-1732584194,p=271733878,f=0;f>>24)|4278255360&(a[f]<<24|a[f]>>>8);a[u>>>5]|=128<>>9<<4)]=u;var d=s._ff,g=s._gg,m=s._hh,y=s._ii;for(f=0;f>>0,l=l+b>>>0,h=h+w>>>0,p=p+x>>>0}return e.endian([c,l,h,p])};s._ff=function(t,e,n,r,o,i,s){var a=t+(e&n|~e&r)+(o>>>0)+s;return(a<>>32-i)+e},s._gg=function(t,e,n,r,o,i,s){var a=t+(e&r|n&~r)+(o>>>0)+s;return(a<>>32-i)+e},s._hh=function(t,e,n,r,o,i,s){var a=t+(e^n^r)+(o>>>0)+s;return(a<>>32-i)+e},s._ii=function(t,e,n,r,o,i,s){var a=t+(n^(e|~r))+(o>>>0)+s;return(a<>>32-i)+e},s._blocksize=16,s._digestsize=16,t.exports=function(t,n){if(null==t)throw new Error(\"Illegal argument \"+t);var r=e.wordsToBytes(s(t,n));return n&&n.asBytes?r:n&&n.asString?i.bytesToString(r):e.bytesToHex(r)}}()},285:(t,e,n)=>{var r=n(2);t.exports=function(t){return t?(\"{}\"===t.substr(0,2)&&(t=\"\\\\{\\\\}\"+t.substr(2)),m(function(t){return t.split(\"\\\\\\\\\").join(o).split(\"\\\\{\").join(i).split(\"\\\\}\").join(s).split(\"\\\\,\").join(a).split(\"\\\\.\").join(u)}(t),!0).map(l)):[]};var o=\"\\0SLASH\"+Math.random()+\"\\0\",i=\"\\0OPEN\"+Math.random()+\"\\0\",s=\"\\0CLOSE\"+Math.random()+\"\\0\",a=\"\\0COMMA\"+Math.random()+\"\\0\",u=\"\\0PERIOD\"+Math.random()+\"\\0\";function c(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function l(t){return t.split(o).join(\"\\\\\").split(i).join(\"{\").split(s).join(\"}\").split(a).join(\",\").split(u).join(\".\")}function h(t){if(!t)return[\"\"];var e=[],n=r(\"{\",\"}\",t);if(!n)return t.split(\",\");var o=n.pre,i=n.body,s=n.post,a=o.split(\",\");a[a.length-1]+=\"{\"+i+\"}\";var u=h(s);return s.length&&(a[a.length-1]+=u.shift(),a.push.apply(a,u)),e.push.apply(e,a),e}function p(t){return\"{\"+t+\"}\"}function f(t){return/^-?0\\d/.test(t)}function d(t,e){return t<=e}function g(t,e){return t>=e}function m(t,e){var n=[],o=r(\"{\",\"}\",t);if(!o)return[t];var i=o.pre,a=o.post.length?m(o.post,!1):[\"\"];if(/\\$$/.test(o.pre))for(var u=0;u=0;if(!x&&!N)return o.post.match(/,.*\\}/)?m(t=o.pre+\"{\"+o.body+s+o.post):[t];if(x)y=o.body.split(/\\.\\./);else if(1===(y=h(o.body)).length&&1===(y=m(y[0],!1).map(p)).length)return a.map((function(t){return o.pre+y[0]+t}));if(x){var P=c(y[0]),A=c(y[1]),O=Math.max(y[0].length,y[1].length),E=3==y.length?Math.abs(c(y[2])):1,T=d;A0){var I=new Array(C+1).join(\"0\");$=S<0?\"-\"+I+$.slice(1):I+$}}v.push($)}}else{v=[];for(var k=0;k{function e(t){return e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},e(t)}function n(t){var e=\"function\"==typeof Map?new Map:void 0;return n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf(\"[native code]\")))return t;var n;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,s)}function s(){return r(t,arguments,i(this).constructor)}return s.prototype=Object.create(t.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),o(s,t)},n(t)}function r(t,e,n){return r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&o(i,n.prototype),i},r.apply(null,arguments)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}var s=function(t){function n(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,n),(r=function(t,n){return!n||\"object\"!==e(n)&&\"function\"!=typeof n?function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t):n}(this,i(n).call(this,t))).name=\"ObjectPrototypeMutationError\",r}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(n,t),n}(n(Error));function a(t,n){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=n.split(\".\"),i=o.length,s=function(e){var n=o[e];if(!t)return{v:void 0};if(\"+\"===n){if(Array.isArray(t))return{v:t.map((function(n,i){var s=o.slice(e+1);return s.length>0?a(n,s.join(\".\"),r):r(t,i,o,e)}))};var i=o.slice(0,e).join(\".\");throw new Error(\"Object at wildcard (\".concat(i,\") is not an array\"))}t=r(t,n,o,e)},u=0;u2&&void 0!==arguments[2]?arguments[2]:{};if(\"object\"!=e(t)||null===t)return!1;if(void 0===n)return!1;if(\"number\"==typeof n)return n in t;try{var o=!1;return a(t,n,(function(t,e,n,i){if(!u(n,i))return t&&t[e];o=r.own?t.hasOwnProperty(e):e in t})),o}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(\"object\"!=e(t)||null===t)return!1;if(void 0===n)return!1;try{var i=!1,s=!1;return a(t,n,(function(t,n,o,a){return i=i||t===r||!!t&&t[n]===r,s=u(o,a)&&\"object\"===e(t)&&n in t,t&&t[n]})),o.validPath?i&&s:i}catch(t){return!1}},ObjectPrototypeMutationError:s}},47:(t,e,n)=>{var r=n(410),o=function(t){return\"string\"==typeof t};function i(t,e){for(var n=[],r=0;r=-1&&!e;n--){var r=n>=0?arguments[n]:process.cwd();if(!o(r))throw new TypeError(\"Arguments to path.resolve must be strings\");r&&(t=r+\"/\"+t,e=\"/\"===r.charAt(0))}return(e?\"/\":\"\")+(t=i(t.split(\"/\"),!e).join(\"/\"))||\".\"},a.normalize=function(t){var e=a.isAbsolute(t),n=\"/\"===t.substr(-1);return(t=i(t.split(\"/\"),!e).join(\"/\"))||e||(t=\".\"),t&&n&&(t+=\"/\"),(e?\"/\":\"\")+t},a.isAbsolute=function(t){return\"/\"===t.charAt(0)},a.join=function(){for(var t=\"\",e=0;e=0&&\"\"===t[n];n--);return e>n?[]:t.slice(e,n+1)}t=a.resolve(t).substr(1),e=a.resolve(e).substr(1);for(var r=n(t.split(\"/\")),o=n(e.split(\"/\")),i=Math.min(r.length,o.length),s=i,u=0;u{var n=Object.prototype.hasOwnProperty;function r(t){try{return decodeURIComponent(t.replace(/\\+/g,\" \"))}catch(t){return null}}function o(t){try{return encodeURIComponent(t)}catch(t){return null}}e.stringify=function(t,e){e=e||\"\";var r,i,s=[];for(i in\"string\"!=typeof e&&(e=\"?\"),t)if(n.call(t,i)){if((r=t[i])||null!=r&&!isNaN(r)||(r=\"\"),i=o(i),r=o(r),null===i||null===r)continue;s.push(i+\"=\"+r)}return s.length?e+s.join(\"&\"):\"\"},e.parse=function(t){for(var e,n=/([^=?#&]+)=?([^&]*)/g,o={};e=n.exec(t);){var i=r(e[1]),s=r(e[2]);null===i||null===s||i in o||(o[i]=s)}return o}},670:t=>{t.exports=function(t,e){if(e=e.split(\":\")[0],!(t=+t))return!1;switch(e){case\"http\":case\"ws\":return 80!==t;case\"https\":case\"wss\":return 443!==t;case\"ftp\":return 21!==t;case\"gopher\":return 70!==t;case\"file\":return!1}return 0!==t}},494:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const r={hex:!0,leadingZeros:!0,decimalPoint:\".\",eNotation:!0};t.exports=function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o=Object.assign({},r,o),!t||\"string\"!=typeof t)return t;let i=t.trim();if(void 0!==o.skipLike&&o.skipLike.test(i))return t;if(o.hex&&e.test(i))return Number.parseInt(i,16);{const e=n.exec(i);if(e){const n=e[1],r=e[2];let a=(s=e[3])&&-1!==s.indexOf(\".\")?(\".\"===(s=s.replace(/0+$/,\"\"))?s=\"0\":\".\"===s[0]?s=\"0\"+s:\".\"===s[s.length-1]&&(s=s.substr(0,s.length-1)),s):s;const u=e[4]||e[6];if(!o.leadingZeros&&r.length>0&&n&&\".\"!==i[2])return t;if(!o.leadingZeros&&r.length>0&&!n&&\".\"!==i[1])return t;{const e=Number(i),s=\"\"+e;return-1!==s.search(/[eE]/)||u?o.eNotation?e:t:-1!==i.indexOf(\".\")?\"0\"===s&&\"\"===a||s===a||n&&s===\"-\"+a?e:t:r?a===s||n+a===s?e:t:i===s||i===n+s?e:t}}return t}var s}},737:(t,e,n)=>{var r=n(670),o=n(647),i=/^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/,s=/[\\n\\r\\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//,u=/:\\d+$/,c=/^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i,l=/^[a-zA-Z]:/;function h(t){return(t||\"\").toString().replace(i,\"\")}var p=[[\"#\",\"hash\"],[\"?\",\"query\"],function(t,e){return g(e.protocol)?t.replace(/\\\\/g,\"/\"):t},[\"/\",\"pathname\"],[\"@\",\"auth\",1],[NaN,\"host\",void 0,1,1],[/:(\\d*)$/,\"port\",void 0,1],[NaN,\"hostname\",void 0,1,1]],f={hash:1,query:1};function d(t){var e,n=(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).location||{},r={},o=typeof(t=t||n);if(\"blob:\"===t.protocol)r=new y(unescape(t.pathname),{});else if(\"string\"===o)for(e in r=new y(t,{}),f)delete r[e];else if(\"object\"===o){for(e in t)e in f||(r[e]=t[e]);void 0===r.slashes&&(r.slashes=a.test(t.href))}return r}function g(t){return\"file:\"===t||\"ftp:\"===t||\"http:\"===t||\"https:\"===t||\"ws:\"===t||\"wss:\"===t}function m(t,e){t=(t=h(t)).replace(s,\"\"),e=e||{};var n,r=c.exec(t),o=r[1]?r[1].toLowerCase():\"\",i=!!r[2],a=!!r[3],u=0;return i?a?(n=r[2]+r[3]+r[4],u=r[2].length+r[3].length):(n=r[2]+r[4],u=r[2].length):a?(n=r[3]+r[4],u=r[3].length):n=r[4],\"file:\"===o?u>=2&&(n=n.slice(2)):g(o)?n=r[4]:o?i&&(n=n.slice(2)):u>=2&&g(e.protocol)&&(n=r[4]),{protocol:o,slashes:i||g(o),slashesCount:u,rest:n}}function y(t,e,n){if(t=(t=h(t)).replace(s,\"\"),!(this instanceof y))return new y(t,e,n);var i,a,u,c,f,v,b=p.slice(),w=typeof e,x=this,N=0;for(\"object\"!==w&&\"string\"!==w&&(n=e,e=null),n&&\"function\"!=typeof n&&(n=o.parse),i=!(a=m(t||\"\",e=d(e))).protocol&&!a.slashes,x.slashes=a.slashes||i&&e.slashes,x.protocol=a.protocol||e.protocol||\"\",t=a.rest,(\"file:\"===a.protocol&&(2!==a.slashesCount||l.test(t))||!a.slashes&&(a.protocol||a.slashesCount<2||!g(x.protocol)))&&(b[3]=[/(.*)/,\"pathname\"]);N{},388:()=>{},805:()=>{},345:()=>{},800:()=>{}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={id:r,loaded:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var r={};n.d(r,{hT:()=>C,O4:()=>I,Kd:()=>S,YK:()=>$,UU:()=>en,Gu:()=>F,ky:()=>oe,h4:()=>ne,ch:()=>re,hq:()=>Xt,i5:()=>ie});var o=n(737),i=n.n(o);function s(t){if(!a(t))throw new Error(\"Parameter was not an error\")}function a(t){return!!t&&\"object\"==typeof t&&\"[object Error]\"===(e=t,Object.prototype.toString.call(e))||t instanceof Error;var e}class u extends Error{constructor(t,e){const n=[...arguments],{options:r,shortMessage:o}=function(t){let e,n=\"\";if(0===t.length)e={};else if(a(t[0]))e={cause:t[0]},n=t.slice(1).join(\" \")||\"\";else if(t[0]&&\"object\"==typeof t[0])e=Object.assign({},t[0]),n=t.slice(1).join(\" \")||\"\";else{if(\"string\"!=typeof t[0])throw new Error(\"Invalid arguments passed to Layerr\");e={},n=n=t.join(\" \")||\"\"}return{options:e,shortMessage:n}}(n);let i=o;if(r.cause&&(i=`${i}: ${r.cause.message}`),super(i),this.message=i,r.name&&\"string\"==typeof r.name?this.name=r.name:this.name=\"Layerr\",r.cause&&Object.defineProperty(this,\"_cause\",{value:r.cause}),Object.defineProperty(this,\"_info\",{value:{}}),r.info&&\"object\"==typeof r.info&&Object.assign(this._info,r.info),Error.captureStackTrace){const t=r.constructorOpt||this.constructor;Error.captureStackTrace(this,t)}}static cause(t){return s(t),t._cause&&a(t._cause)?t._cause:null}static fullStack(t){s(t);const e=u.cause(t);return e?`${t.stack}\\ncaused by: ${u.fullStack(e)}`:t.stack??\"\"}static info(t){s(t);const e={},n=u.cause(t);return n&&Object.assign(e,u.info(n)),t._info&&Object.assign(e,t._info),e}toString(){let t=this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(t=`${t}: ${this.message}`),t}}var c=n(47),l=n.n(c);const h=\"__PATH_SEPARATOR_POSIX__\",p=\"__PATH_SEPARATOR_WINDOWS__\";function f(t){try{const e=t.replace(/\\//g,h).replace(/\\\\\\\\/g,p);return encodeURIComponent(e).split(p).join(\"\\\\\\\\\").split(h).join(\"/\")}catch(t){throw new u(t,\"Failed encoding path\")}}function d(t){return t.startsWith(\"/\")?t:\"/\"+t}function g(t){let e=t;return\"/\"!==e[0]&&(e=\"/\"+e),/^.+\\/$/.test(e)&&(e=e.substr(0,e.length-1)),e}function m(t){let e=new(i())(t).pathname;return e.length<=0&&(e=\"/\"),g(e)}function y(){for(var t=arguments.length,e=new Array(t),n=0;n1){var n=t.shift();t[0]=n+t[0]}t[0].match(/^file:\\/\\/\\//)?t[0]=t[0].replace(/^([^/:]+):\\/*/,\"$1:///\"):t[0]=t[0].replace(/^([^/:]+):\\/*/,\"$1://\");for(var r=0;r0&&(o=o.replace(/^[\\/]+/,\"\")),o=r0?\"?\":\"\")+s.join(\"&\")}(\"object\"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}(e.reduce(((t,e,n)=>((0===n||\"/\"!==e||\"/\"===e&&\"/\"!==t[t.length-1])&&t.push(e),t)),[]))}var v=n(542),b=n.n(v);const w=\"abcdef0123456789\";function x(t,e){const n=t.url.replace(\"//\",\"\"),r=-1==n.indexOf(\"/\")?\"/\":n.slice(n.indexOf(\"/\")),o=t.method?t.method.toUpperCase():\"GET\",i=!!/(^|,)\\s*auth\\s*($|,)/.test(e.qop)&&\"auth\",s=`00000000${e.nc}`.slice(-8),a=function(t,e,n,r,o,i,s){const a=s||b()(`${e}:${n}:${r}`);return t&&\"md5-sess\"===t.toLowerCase()?b()(`${a}:${o}:${i}`):a}(e.algorithm,e.username,e.realm,e.password,e.nonce,e.cnonce,e.ha1),u=b()(`${o}:${r}`),c=i?b()(`${a}:${e.nonce}:${s}:${e.cnonce}:${i}:${u}`):b()(`${a}:${e.nonce}:${u}`),l={username:e.username,realm:e.realm,nonce:e.nonce,uri:r,qop:i,response:c,nc:s,cnonce:e.cnonce,algorithm:e.algorithm,opaque:e.opaque},h=[];for(const t in l)l[t]&&(\"qop\"===t||\"nc\"===t||\"algorithm\"===t?h.push(`${t}=${l[t]}`):h.push(`${t}=\"${l[t]}\"`));return`Digest ${h.join(\", \")}`}function N(t){return\"digest\"===(t.headers&&t.headers.get(\"www-authenticate\")||\"\").split(/\\s/)[0].toLowerCase()}var P=n(101),A=n.n(P);function O(t){return A().decode(t)}function E(t,e){var n;return`Basic ${n=`${t}:${e}`,A().encode(n)}`}const T=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:\"undefined\"!=typeof window?window:globalThis,j=T.fetch.bind(T),S=(T.Headers,T.Request),$=T.Response;let C=function(t){return t.Auto=\"auto\",t.Digest=\"digest\",t.None=\"none\",t.Password=\"password\",t.Token=\"token\",t}({}),I=function(t){return t.DataTypeNoLength=\"data-type-no-length\",t.InvalidAuthType=\"invalid-auth-type\",t.InvalidOutputFormat=\"invalid-output-format\",t.LinkUnsupportedAuthType=\"link-unsupported-auth\",t.InvalidUpdateRange=\"invalid-update-range\",t.NotSupported=\"not-supported\",t}({});function k(t,e,n,r,o){switch(t.authType){case C.Auto:e&&n&&(t.headers.Authorization=E(e,n));break;case C.Digest:t.digest=function(t,e,n){return{username:t,password:e,ha1:n,nc:0,algorithm:\"md5\",hasDigestAuth:!1}}(e,n,o);break;case C.None:break;case C.Password:t.headers.Authorization=E(e,n);break;case C.Token:t.headers.Authorization=`${(i=r).token_type} ${i.access_token}`;break;default:throw new u({info:{code:I.InvalidAuthType}},`Invalid auth type: ${t.authType}`)}var i}n(345),n(800);const R=\"@@HOTPATCHER\",L=()=>{};function _(t){return{original:t,methods:[t],final:!1}}class M{constructor(){this._configuration={registry:{},getEmptyAction:\"null\"},this.__type__=R}get configuration(){return this._configuration}get getEmptyAction(){return this.configuration.getEmptyAction}set getEmptyAction(t){this.configuration.getEmptyAction=t}control(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t||t.__type__!==R)throw new Error(\"Failed taking control of target HotPatcher instance: Invalid type or object\");return Object.keys(t.configuration.registry).forEach((n=>{this.configuration.registry.hasOwnProperty(n)?e&&(this.configuration.registry[n]=Object.assign({},t.configuration.registry[n])):this.configuration.registry[n]=Object.assign({},t.configuration.registry[n])})),t._configuration=this.configuration,this}execute(t){const e=this.get(t)||L;for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o0;)o=[e.shift().apply(i,o)];return o[0]}}(...e.methods)}isPatched(t){return!!this.configuration.registry[t]}patch(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{chain:r=!1}=n;if(this.configuration.registry[t]&&this.configuration.registry[t].final)throw new Error(`Failed patching '${t}': Method marked as being final`);if(\"function\"!=typeof e)throw new Error(`Failed patching '${t}': Provided method is not a function`);if(r)this.configuration.registry[t]?this.configuration.registry[t].methods.push(e):this.configuration.registry[t]=_(e);else if(this.isPatched(t)){const{original:n}=this.configuration.registry[t];this.configuration.registry[t]=Object.assign(_(e),{original:n})}else this.configuration.registry[t]=_(e);return this}patchInline(t,e){this.isPatched(t)||this.patch(t,e);for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o1?e-1:0),r=1;r{this.patch(t,e,{chain:!0})})),this}restore(t){if(!this.isPatched(t))throw new Error(`Failed restoring method: No method present for key: ${t}`);if(\"function\"!=typeof this.configuration.registry[t].original)throw new Error(`Failed restoring method: Original method not found or of invalid type for key: ${t}`);return this.configuration.registry[t].methods=[this.configuration.registry[t].original],this}setFinal(t){if(!this.configuration.registry.hasOwnProperty(t))throw new Error(`Failed marking '${t}' as final: No method found for key`);return this.configuration.registry[t].final=!0,this}}let U=null;function F(){return U||(U=new M),U}function D(t){return function(t){if(\"object\"!=typeof t||null===t||\"[object Object]\"!=Object.prototype.toString.call(t))return!1;if(null===Object.getPrototypeOf(t))return!0;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t)?Object.assign({},t):Object.setPrototypeOf(Object.assign({},t),Object.getPrototypeOf(t))}function B(){for(var t=arguments.length,e=new Array(t),n=0;n0;){const t=o.shift();r=r?W(r,t):D(t)}return r}function W(t,e){const n=D(t);return Object.keys(e).forEach((t=>{n.hasOwnProperty(t)?Array.isArray(e[t])?n[t]=Array.isArray(n[t])?[...n[t],...e[t]]:[...e[t]]:\"object\"==typeof e[t]&&e[t]?n[t]=\"object\"==typeof n[t]&&n[t]?W(n[t],e[t]):D(e[t]):n[t]=e[t]:n[t]=e[t]})),n}function V(t){const e={};for(const n of t.keys())e[n]=t.get(n);return e}function z(){for(var t=arguments.length,e=new Array(t),n=0;n(Object.keys(e).forEach((n=>{const o=n.toLowerCase();r.hasOwnProperty(o)?t[r[o]]=e[n]:(r[o]=n,t[n]=e[n])})),t)),{})}n(805);const G=\"function\"==typeof ArrayBuffer,{toString:q}=Object.prototype;function H(t){return G&&(t instanceof ArrayBuffer||\"[object ArrayBuffer]\"===q.call(t))}function X(t){return null!=t&&null!=t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function Z(t){return function(){for(var e=[],n=0;ne.patchInline(\"fetch\",j,t.url,function(t){let e={};const n={method:t.method};if(t.headers&&(e=z(e,t.headers)),void 0!==t.data){const[r,o]=function(t){if(\"string\"==typeof t)return[t,{}];if(X(t))return[t,{}];if(H(t))return[t,{}];if(t&&\"object\"==typeof t)return[JSON.stringify(t),{\"content-type\":\"application/json\"}];throw new Error(\"Unable to convert request body: Unexpected body type: \"+typeof t)}(t.data);n.body=r,e=z(e,o)}return t.signal&&(n.signal=t.signal),t.withCredentials&&(n.credentials=\"include\"),n.headers=e,n}(t))),t)}var nt=n(285);const rt=t=>{if(\"string\"!=typeof t)throw new TypeError(\"invalid pattern\");if(t.length>65536)throw new TypeError(\"pattern is too long\")},ot={\"[:alnum:]\":[\"\\\\p{L}\\\\p{Nl}\\\\p{Nd}\",!0],\"[:alpha:]\":[\"\\\\p{L}\\\\p{Nl}\",!0],\"[:ascii:]\":[\"\\\\x00-\\\\x7f\",!1],\"[:blank:]\":[\"\\\\p{Zs}\\\\t\",!0],\"[:cntrl:]\":[\"\\\\p{Cc}\",!0],\"[:digit:]\":[\"\\\\p{Nd}\",!0],\"[:graph:]\":[\"\\\\p{Z}\\\\p{C}\",!0,!0],\"[:lower:]\":[\"\\\\p{Ll}\",!0],\"[:print:]\":[\"\\\\p{C}\",!0],\"[:punct:]\":[\"\\\\p{P}\",!0],\"[:space:]\":[\"\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f\",!0],\"[:upper:]\":[\"\\\\p{Lu}\",!0],\"[:word:]\":[\"\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}\",!0],\"[:xdigit:]\":[\"A-Fa-f0-9\",!1]},it=t=>t.replace(/[[\\]\\\\-]/g,\"\\\\$&\"),st=t=>t.join(\"\"),at=(t,e)=>{const n=e;if(\"[\"!==t.charAt(n))throw new Error(\"not in a brace expression\");const r=[],o=[];let i=n+1,s=!1,a=!1,u=!1,c=!1,l=n,h=\"\";t:for(;ih?r.push(it(h)+\"-\"+it(e)):e===h&&r.push(it(e)),h=\"\",i++):t.startsWith(\"-]\",i+1)?(r.push(it(e+\"-\")),i+=2):t.startsWith(\"-\",i+1)?(h=e,i+=2):(r.push(it(e)),i++)}else u=!0,i++}else c=!0,i++}if(l1&&void 0!==arguments[1]?arguments[1]:{};return e?t.replace(/\\[([^\\/\\\\])\\]/g,\"$1\"):t.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,\"$1$2\").replace(/\\\\([^\\/])/g,\"$1\")},ct=new Set([\"!\",\"?\",\"+\",\"*\",\"@\"]),lt=t=>ct.has(t),ht=\"(?!\\\\.)\",pt=new Set([\"[\",\".\"]),ft=new Set([\"..\",\".\"]),dt=new Set(\"().*{}+?[]^$\\\\!\"),gt=\"[^/]\",mt=gt+\"*?\",yt=gt+\"+?\";class vt{type;#t;#e;#n=!1;#r=[];#o;#i;#s;#a=!1;#u;#c;#l=!1;constructor(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.type=t,t&&(this.#e=!0),this.#o=e,this.#t=this.#o?this.#o.#t:this,this.#u=this.#t===this?n:this.#t.#u,this.#s=this.#t===this?[]:this.#t.#s,\"!\"!==t||this.#t.#a||this.#s.push(this),this.#i=this.#o?this.#o.#r.length:0}get hasMagic(){if(void 0!==this.#e)return this.#e;for(const t of this.#r)if(\"string\"!=typeof t&&(t.type||t.hasMagic))return this.#e=!0;return this.#e}toString(){return void 0!==this.#c?this.#c:this.type?this.#c=this.type+\"(\"+this.#r.map((t=>String(t))).join(\"|\")+\")\":this.#c=this.#r.map((t=>String(t))).join(\"\")}#h(){if(this!==this.#t)throw new Error(\"should only call on root\");if(this.#a)return this;let t;for(this.toString(),this.#a=!0;t=this.#s.pop();){if(\"!\"!==t.type)continue;let e=t,n=e.#o;for(;n;){for(let r=e.#i+1;!n.type&&r\"string\"==typeof t?t:t.toJSON())):[this.type,...this.#r.map((t=>t.toJSON()))];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#t||this.#t.#a&&\"!\"===this.#o?.type)&&t.push({}),t}isStart(){if(this.#t===this)return!0;if(!this.#o?.isStart())return!1;if(0===this.#i)return!0;const t=this.#o;for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:{};const n=new vt(null,void 0,e);return vt.#p(t,n,0,e),n}toMMPattern(){if(this!==this.#t)return this.#t.toMMPattern();const t=this.toString(),[e,n,r,o]=this.toRegExpSource();if(!(r||this.#e||this.#u.nocase&&!this.#u.nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return n;const i=(this.#u.nocase?\"i\":\"\")+(o?\"u\":\"\");return Object.assign(new RegExp(`^${e}$`,i),{_src:e,_glob:t})}get options(){return this.#u}toRegExpSource(t){const e=t??!!this.#u.dot;if(this.#t===this&&this.#h(),!this.type){const n=this.isStart()&&this.isEnd(),r=this.#r.map((e=>{const[r,o,i,s]=\"string\"==typeof e?vt.#f(e,this.#e,n):e.toRegExpSource(t);return this.#e=this.#e||i,this.#n=this.#n||s,r})).join(\"\");let o=\"\";if(this.isStart()&&\"string\"==typeof this.#r[0]&&(1!==this.#r.length||!ft.has(this.#r[0]))){const n=pt,i=e&&n.has(r.charAt(0))||r.startsWith(\"\\\\.\")&&n.has(r.charAt(2))||r.startsWith(\"\\\\.\\\\.\")&&n.has(r.charAt(4)),s=!e&&!t&&n.has(r.charAt(0));o=i?\"(?!(?:^|/)\\\\.\\\\.?(?:$|/))\":s?ht:\"\"}let i=\"\";return this.isEnd()&&this.#t.#a&&\"!\"===this.#o?.type&&(i=\"(?:$|\\\\/)\"),[o+r+i,ut(r),this.#e=!!this.#e,this.#n]}const n=\"*\"===this.type||\"+\"===this.type,r=\"!\"===this.type?\"(?:(?!(?:\":\"(?:\";let o=this.#d(e);if(this.isStart()&&this.isEnd()&&!o&&\"!\"!==this.type){const t=this.toString();return this.#r=[t],this.type=null,this.#e=void 0,[t,ut(this.toString()),!1,!1]}let i=!n||t||e?\"\":this.#d(!0);i===o&&(i=\"\"),i&&(o=`(?:${o})(?:${i})*?`);let s=\"\";return s=\"!\"===this.type&&this.#l?(this.isStart()&&!e?ht:\"\")+yt:r+o+(\"!\"===this.type?\"))\"+(!this.isStart()||e||t?\"\":ht)+mt+\")\":\"@\"===this.type?\")\":\"?\"===this.type?\")?\":\"+\"===this.type&&i?\")\":\"*\"===this.type&&i?\")?\":`)${this.type}`),[s,ut(o),this.#e=!!this.#e,this.#n]}#d(t){return this.#r.map((e=>{if(\"string\"==typeof e)throw new Error(\"string type in extglob ast??\");const[n,r,o,i]=e.toRegExpSource(t);return this.#n=this.#n||i,n})).filter((t=>!(this.isStart()&&this.isEnd()&&!t))).join(\"|\")}static#f(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!1,o=\"\",i=!1;for(let s=0;s2&&void 0!==arguments[2]?arguments[2]:{};return rt(e),!(!n.nocomment&&\"#\"===e.charAt(0))&&new Gt(e,n).match(t)},wt=/^\\*+([^+@!?\\*\\[\\(]*)$/,xt=t=>e=>!e.startsWith(\".\")&&e.endsWith(t),Nt=t=>e=>e.endsWith(t),Pt=t=>(t=t.toLowerCase(),e=>!e.startsWith(\".\")&&e.toLowerCase().endsWith(t)),At=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),Ot=/^\\*+\\.\\*+$/,Et=t=>!t.startsWith(\".\")&&t.includes(\".\"),Tt=t=>\".\"!==t&&\"..\"!==t&&t.includes(\".\"),jt=/^\\.\\*+$/,St=t=>\".\"!==t&&\"..\"!==t&&t.startsWith(\".\"),$t=/^\\*+$/,Ct=t=>0!==t.length&&!t.startsWith(\".\"),It=t=>0!==t.length&&\".\"!==t&&\"..\"!==t,kt=/^\\?+([^+@!?\\*\\[\\(]*)?$/,Rt=t=>{let[e,n=\"\"]=t;const r=Ut([e]);return n?(n=n.toLowerCase(),t=>r(t)&&t.toLowerCase().endsWith(n)):r},Lt=t=>{let[e,n=\"\"]=t;const r=Ft([e]);return n?(n=n.toLowerCase(),t=>r(t)&&t.toLowerCase().endsWith(n)):r},_t=t=>{let[e,n=\"\"]=t;const r=Ft([e]);return n?t=>r(t)&&t.endsWith(n):r},Mt=t=>{let[e,n=\"\"]=t;const r=Ut([e]);return n?t=>r(t)&&t.endsWith(n):r},Ut=t=>{let[e]=t;const n=e.length;return t=>t.length===n&&!t.startsWith(\".\")},Ft=t=>{let[e]=t;const n=e.length;return t=>t.length===n&&\".\"!==t&&\"..\"!==t},Dt=\"object\"==typeof process&&process?\"object\"==typeof process.env&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:\"posix\";bt.sep=\"win32\"===Dt?\"\\\\\":\"/\";const Bt=Symbol(\"globstar **\");bt.GLOBSTAR=Bt,bt.filter=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n=>bt(n,t,e)};const Wt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign({},t,e)};bt.defaults=t=>{if(!t||\"object\"!=typeof t||!Object.keys(t).length)return bt;const e=bt;return Object.assign((function(n,r){return e(n,r,Wt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}))}),{Minimatch:class extends e.Minimatch{constructor(e){super(e,Wt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}static defaults(n){return e.defaults(Wt(t,n)).Minimatch}},AST:class extends e.AST{constructor(e,n){super(e,n,Wt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}))}static fromGlob(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.AST.fromGlob(n,Wt(t,r))}},unescape:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.unescape(n,Wt(t,r))},escape:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.escape(n,Wt(t,r))},filter:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.filter(n,Wt(t,r))},defaults:n=>e.defaults(Wt(t,n)),makeRe:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.makeRe(n,Wt(t,r))},braceExpand:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.braceExpand(n,Wt(t,r))},match:function(n,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.match(n,r,Wt(t,o))},sep:e.sep,GLOBSTAR:Bt})};const Vt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return rt(t),e.nobrace||!/\\{(?:(?!\\{).)*\\}/.test(t)?[t]:nt(t)};bt.braceExpand=Vt,bt.makeRe=function(t){return new Gt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).makeRe()},bt.match=function(t,e){const n=new Gt(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return t=t.filter((t=>n.match(t))),n.options.nonull&&!t.length&&t.push(e),t};const zt=/[?*]|[+@!]\\(.*?\\)|\\[|\\]/;class Gt{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||Dt,this.isWindows=\"win32\"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\\\/g,\"/\")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if(\"string\"!=typeof e)return!0;return!1}debug(){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&\"#\"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=function(){return console.error(...arguments)}),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map(((t,e,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(\"\"!==t[0]||\"\"!==t[1]||\"?\"!==t[2]&&zt.test(t[2])||zt.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,r),this.set=r.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf(\"**\",e+1));){let n=e;for(;\"**\"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return\"**\"===e&&\"**\"===n?t:\"..\"===e&&n&&\"..\"!==n&&\".\"!==n&&\"**\"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[\"\"]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;nr&&n.splice(r+1,o-r);let i=n[r+1];const s=n[r+2],a=n[r+3];if(\"..\"!==i)continue;if(!s||\".\"===s||\"..\"===s||!a||\".\"===a||\"..\"===a)continue;e=!0,n.splice(r,1);const u=n.slice(0);u[r]=\"**\",t.push(u),r--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=0,o=0,i=[],s=\"\";for(;r2&&void 0!==arguments[2]&&arguments[2];const r=this.options;if(this.isWindows){const n=\"string\"==typeof t[0]&&/^[a-z]:$/i.test(t[0]),r=!n&&\"\"===t[0]&&\"\"===t[1]&&\"?\"===t[2]&&/^[a-z]:$/i.test(t[3]),o=\"string\"==typeof e[0]&&/^[a-z]:$/i.test(e[0]),i=r?3:n?0:void 0,s=!o&&\"\"===e[0]&&\"\"===e[1]&&\"?\"===e[2]&&\"string\"==typeof e[3]&&/^[a-z]:$/i.test(e[3])?3:o?0:void 0;if(\"number\"==typeof i&&\"number\"==typeof s){const[n,r]=[t[i],e[s]];n.toLowerCase()===r.toLowerCase()&&(e[s]=n,s>i?e=e.slice(s):i>s&&(t=t.slice(i)))}}const{optimizationLevel:o=1}=this.options;o>=2&&(t=this.levelTwoFileOptimize(t)),this.debug(\"matchOne\",this,{file:t,pattern:e}),this.debug(\"matchOne\",t.length,e.length);for(var i=0,s=0,a=t.length,u=e.length;i>> no match, partial?\",t,h,e,p),h!==a))}let o;if(\"string\"==typeof c?(o=l===c,this.debug(\"string match\",c,l,o)):(o=c.test(l),this.debug(\"pattern match\",c,l,o)),!o)return!1}if(i===a&&s===u)return!0;if(i===a)return n;if(s===u)return i===a-1&&\"\"===t[i];throw new Error(\"wtf?\")}braceExpand(){return Vt(this.pattern,this.options)}parse(t){rt(t);const e=this.options;if(\"**\"===t)return Bt;if(\"\"===t)return\"\";let n,r=null;(n=t.match($t))?r=e.dot?It:Ct:(n=t.match(wt))?r=(e.nocase?e.dot?At:Pt:e.dot?Nt:xt)(n[1]):(n=t.match(kt))?r=(e.nocase?e.dot?Lt:Rt:e.dot?_t:Mt)(n):(n=t.match(Ot))?r=e.dot?Tt:Et:(n=t.match(jt))&&(r=St);const o=vt.fromGlob(t,this.options).toMMPattern();return r&&\"object\"==typeof o&&Reflect.defineProperty(o,\"test\",{value:r}),o}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;const t=this.set;if(!t.length)return this.regexp=!1,this.regexp;const e=this.options,n=e.noglobstar?\"[^/]*?\":e.dot?\"(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?\":\"(?:(?!(?:\\\\/|^)\\\\.).)*?\",r=new Set(e.nocase?[\"i\"]:[]);let o=t.map((t=>{const e=t.map((t=>{if(t instanceof RegExp)for(const e of t.flags.split(\"\"))r.add(e);return\"string\"==typeof t?t.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\"\\\\$&\"):t===Bt?Bt:t._src}));return e.forEach(((t,r)=>{const o=e[r+1],i=e[r-1];t===Bt&&i!==Bt&&(void 0===i?void 0!==o&&o!==Bt?e[r+1]=\"(?:\\\\/|\"+n+\"\\\\/)?\"+o:e[r]=n:void 0===o?e[r-1]=i+\"(?:\\\\/|\"+n+\")?\":o!==Bt&&(e[r-1]=i+\"(?:\\\\/|\\\\/\"+n+\"\\\\/)\"+o,e[r+1]=Bt))})),e.filter((t=>t!==Bt)).join(\"/\")})).join(\"|\");const[i,s]=t.length>1?[\"(?:\",\")\"]:[\"\",\"\"];o=\"^\"+i+o+s+\"$\",this.negate&&(o=\"^(?!\"+o+\").+$\");try{this.regexp=new RegExp(o,[...r].join(\"\"))}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split(\"/\"):this.isWindows&&/^\\/\\/[^\\/]+/.test(t)?[\"\",...t.split(/\\/+/)]:t.split(/\\/+/)}match(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.partial;if(this.debug(\"match\",t,this.pattern),this.comment)return!1;if(this.empty)return\"\"===t;if(\"/\"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split(\"\\\\\").join(\"/\"));const r=this.slashSplit(t);this.debug(this.pattern,\"split\",r);const o=this.set;this.debug(this.pattern,\"set\",o);let i=r[r.length-1];if(!i)for(let t=r.length-2;!i&&t>=0;t--)i=r[t];for(let t=0;t1&&void 0!==arguments[1]?arguments[1]:\"\"}Invalid response: ${t.status} ${t.statusText}`);return e.status=t.status,e.response=t,e}function Ht(t,e){const{status:n}=e;if(401===n&&t.digest)return e;if(n>=400)throw qt(e);return e}function Xt(t,e){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?{data:e,headers:t.headers?V(t.headers):{},status:t.status,statusText:t.statusText}:e}bt.AST=vt,bt.Minimatch=Gt,bt.escape=function(t){let{windowsPathsNoEscape:e=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e?t.replace(/[?*()[\\]]/g,\"[$&]\"):t.replace(/[?*()[\\]\\\\]/g,\"\\\\$&\")},bt.unescape=ut;const Zt=(Yt=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"COPY\",headers:{Destination:y(t.remoteURL,f(n)),Overwrite:!1===r.overwrite?\"F\":\"T\",Depth:r.shallow?\"0\":\"infinity\"}},t,r);return s=function(e){Ht(t,e)},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s},function(){for(var t=[],e=0;e2&&void 0!==arguments[2]?arguments[2]:te.Original;const r=Qt().get(t,e);return\"array\"===n&&!1===Array.isArray(r)?[r]:\"object\"===n&&Array.isArray(r)?r[0]:r}function ne(t){return new Promise((e=>{e(function(t){const{multistatus:e}=t;if(\"\"===e)return{multistatus:{response:[]}};if(!e)throw new Error(\"Invalid response: No root multistatus found\");const n={multistatus:Array.isArray(e)?e[0]:e};return Qt().set(n,\"multistatus.response\",ee(n,\"multistatus.response\",te.Array)),Qt().set(n,\"multistatus.response\",Qt().get(n,\"multistatus.response\").map((t=>function(t){const e=Object.assign({},t);return e.status?Qt().set(e,\"status\",ee(e,\"status\",te.Object)):(Qt().set(e,\"propstat\",ee(e,\"propstat\",te.Object)),Qt().set(e,\"propstat.prop\",ee(e,\"propstat.prop\",te.Object))),e}(t)))),n}(new Kt.XMLParser({removeNSPrefix:!0,numberParseOptions:{hex:!0,leadingZeros:!1}}).parse(t)))}))}function re(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{getlastmodified:r=null,getcontentlength:o=\"0\",resourcetype:i=null,getcontenttype:s=null,getetag:a=null}=t,u=i&&\"object\"==typeof i&&void 0!==i.collection?\"directory\":\"file\",c={filename:e,basename:l().basename(e),lastmod:r,size:parseInt(o,10),type:u,etag:\"string\"==typeof a?a.replace(/\"/g,\"\"):null};return\"file\"===u&&(c.mime=s&&\"string\"==typeof s?s.split(\";\")[0]:\"\"),n&&(void 0!==t.displayname&&(t.displayname=String(t.displayname)),c.props=t),c}function oe(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=null;try{t.multistatus.response[0].propstat&&(r=t.multistatus.response[0])}catch(t){}if(!r)throw new Error(\"Failed getting item stat: bad response\");const{propstat:{prop:o,status:i}}=r,[s,a,u]=i.split(\" \",3),c=parseInt(a,10);if(c>=400){const t=new Error(`Invalid response: ${c} ${u}`);throw t.status=c,t}return re(o,g(e),n)}function ie(t){switch(String(t)){case\"-3\":return\"unlimited\";case\"-2\":case\"-1\":return\"unknown\";default:return parseInt(String(t),10)}}function se(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const ae=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const{details:r=!1}=n,o=tt({url:y(t.remoteURL,f(e)),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:\"0\"}},t,n);return se(Q(o,t),(function(n){return Ht(t,n),se(n.text(),(function(t){return se(ne(t),(function(t){const o=oe(t,e,r);return Xt(n,o,r)}))}))}))}));function ue(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const ce=le((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=function(t){if(!t||\"/\"===t)return[];let e=t;const n=[];do{n.push(e),e=l().dirname(e)}while(e&&\"/\"!==e);return n}(g(e));r.sort(((t,e)=>t.length>e.length?1:e.length>t.length?-1:0));let o=!1;return function(t,e,n){if(\"function\"==typeof t[fe]){var r,o,i,s=t[fe]();function l(t){try{for(;!(r=s.next()).done;)if((t=e(r.value))&&t.then){if(!me(t))return void t.then(l,i||(i=de.bind(null,o=new ge,2)));t=t.v}o?de(o,1,t):o=t}catch(t){de(o||(o=new ge),2,t)}}if(l(),s.return){var a=function(t){try{r.done||s.return()}catch(t){}return t};if(o&&o.then)return o.then(a,(function(t){throw a(t)}));a()}return o}if(!(\"length\"in t))throw new TypeError(\"Object is not iterable\");for(var u=[],c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if(!0===n.recursive)return ce(t,e,n);const r=tt({url:y(t.remoteURL,(o=f(e),o.endsWith(\"/\")?o:o+\"/\")),method:\"MKCOL\"},t,n);var o;return ue(Q(r,t),(function(e){Ht(t,e)}))}));var ve=n(388),be=n.n(ve);const we=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r={};if(\"object\"==typeof n.range&&\"number\"==typeof n.range.start){let t=`bytes=${n.range.start}-`;\"number\"==typeof n.range.end&&(t=`${t}${n.range.end}`),r.Range=t}const o=tt({url:y(t.remoteURL,f(e)),method:\"GET\",headers:r},t,n);return s=function(e){if(Ht(t,e),r.Range&&206!==e.status){const t=new Error(`Invalid response code for partial request: ${e.status}`);throw t.status=e.status,t}return n.callback&&setTimeout((()=>{n.callback(e)}),0),e.body},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s})),xe=()=>{},Ne=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"DELETE\"},t,n);return i=function(e){Ht(t,e)},(o=Q(r,t))&&o.then||(o=Promise.resolve(o)),i?o.then(i):o;var o,i})),Ae=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};return function(r,o){try{var i=(s=ae(t,e,n),a=function(){return!0},u?a?a(s):s:(s&&s.then||(s=Promise.resolve(s)),a?s.then(a):s))}catch(t){return o(t)}var s,a,u;return i&&i.then?i.then(void 0,o):i}(0,(function(t){if(404===t.status)return!1;throw t}))}));function Oe(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ee=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e),\"/\"),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:n.deep?\"infinity\":\"1\"}},t,n);return Oe(Q(r,t),(function(r){return Ht(t,r),Oe(r.text(),(function(o){if(!o)throw new Error(\"Failed parsing directory contents: Empty response\");return Oe(ne(o),(function(o){const i=d(e);let s=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const i=l().join(e,\"/\"),{multistatus:{response:s}}=t,a=s.map((t=>{const e=function(t){try{return t.replace(/^https?:\\/\\/[^\\/]+/,\"\")}catch(t){throw new u(t,\"Failed normalising HREF\")}}(t.href),{propstat:{prop:n}}=t;return re(n,\"/\"===i?decodeURIComponent(g(e)):g(l().relative(decodeURIComponent(i),decodeURIComponent(e))),r)}));return o?a:a.filter((t=>t.basename&&(\"file\"===t.type||t.filename!==n.replace(/\\/$/,\"\"))))}(o,d(t.remoteBasePath||t.remotePath),i,n.details,n.includeSelf);return n.glob&&(s=function(t,e){return t.filter((t=>bt(t.filename,e,{matchBase:!0})))}(s,n.glob)),Xt(r,s,n.details)}))}))}))}));function Te(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"GET\",headers:{Accept:\"text/plain\"},transformResponse:[Ie]},t,n);return Se(Q(r,t),(function(e){return Ht(t,e),Se(e.text(),(function(t){return Xt(e,t,n.details)}))}))}));function Se(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const $e=Te((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"GET\"},t,n);return Se(Q(r,t),(function(e){let r;return Ht(t,e),function(t,e){var n=t();return n&&n.then?n.then(e):e()}((function(){return Se(e.arrayBuffer(),(function(t){r=t}))}),(function(){return Xt(e,r,n.details)}))}))})),Ce=Te((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{format:r=\"binary\"}=n;if(\"binary\"!==r&&\"text\"!==r)throw new u({info:{code:I.InvalidOutputFormat}},`Invalid output format: ${r}`);return\"text\"===r?je(t,e,n):$e(t,e,n)})),Ie=t=>t;function ke(t){return new Kt.XMLBuilder({attributeNamePrefix:\"@_\",format:!0,ignoreAttributes:!1,suppressEmptyNode:!0}).build(Re({lockinfo:{\"@_xmlns:d\":\"DAV:\",lockscope:{exclusive:{}},locktype:{write:{}},owner:{href:t}}},\"d\"))}function Re(t,e){const n={...t};for(const t in n)n.hasOwnProperty(t)&&(n[t]&&\"object\"==typeof n[t]&&-1===t.indexOf(\":\")?(n[`${e}:${t}`]=Re(n[t],e),delete n[t]):!1===/^@_/.test(t)&&(n[`${e}:${t}`]=n[t],delete n[t]));return n}function Le(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}function _e(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"UNLOCK\",headers:{\"Lock-Token\":n}},t,r);return Le(Q(o,t),(function(e){if(Ht(t,e),204!==e.status&&200!==e.status)throw qt(e)}))})),Ue=_e((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{refreshToken:r,timeout:o=Fe}=n,i={Accept:\"text/plain,application/xml\",Timeout:o};r&&(i.If=r);const s=tt({url:y(t.remoteURL,f(e)),method:\"LOCK\",headers:i,data:ke(t.contactHref)},t,n);return Le(Q(s,t),(function(e){return Ht(t,e),Le(e.text(),(function(t){const n=(i=t,new Kt.XMLParser({removeNSPrefix:!0,parseAttributeValue:!0,parseTagValue:!0}).parse(i)),r=Qt().get(n,\"prop.lockdiscovery.activelock.locktoken.href\"),o=Qt().get(n,\"prop.lockdiscovery.activelock.timeout\");var i;if(!r)throw qt(e,\"No lock token received: \");return{token:r,serverTimeout:o}}))}))})),Fe=\"Infinite, Second-4100000000\";function De(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Be=function(t){return function(){for(var e=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:{};const n=e.path||\"/\",r=tt({url:y(t.remoteURL,n),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:\"0\"}},t,e);return De(Q(r,t),(function(n){return Ht(t,n),De(n.text(),(function(t){return De(ne(t),(function(t){const r=function(t){try{const[e]=t.multistatus.response,{propstat:{prop:{\"quota-used-bytes\":n,\"quota-available-bytes\":r}}}=e;return void 0!==n&&void 0!==r?{used:parseInt(String(n),10),available:ie(r)}:null}catch(t){}return null}(t);return Xt(n,r,e.details)}))}))}))}));function We(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ve=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const{details:r=!1}=n,o=tt({url:y(t.remoteURL,f(e)),method:\"SEARCH\",headers:{Accept:\"text/plain,application/xml\",\"Content-Type\":t.headers[\"Content-Type\"]||\"application/xml; charset=utf-8\"}},t,n);return We(Q(o,t),(function(n){return Ht(t,n),We(n.text(),(function(t){return We(ne(t),(function(t){const o=function(t,e,n){const r={truncated:!1,results:[]};return r.truncated=t.multistatus.response.some((t=>\"507\"===(t.status||t.propstat?.status).split(\" \",3)?.[1]&&t.href.replace(/\\/$/,\"\").endsWith(f(e).replace(/\\/$/,\"\")))),t.multistatus.response.forEach((t=>{if(void 0===t.propstat)return;const e=t.href.split(\"/\").map(decodeURIComponent).join(\"/\");r.results.push(re(t.propstat.prop,e,n))})),r}(t,e,r);return Xt(n,o,r)}))}))}))})),ze=function(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"MOVE\",headers:{Destination:y(t.remoteURL,f(n)),Overwrite:!1===r.overwrite?\"F\":\"T\"}},t,r);return s=function(e){Ht(t,e)},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s}));var Ge=n(172);const qe=function(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const{contentLength:o=!0,overwrite:i=!0}=r,s={\"Content-Type\":\"application/octet-stream\"};!1===o||(s[\"Content-Length\"]=\"number\"==typeof o?`${o}`:`${function(t){if(H(t))return t.byteLength;if(X(t))return t.length;if(\"string\"==typeof t)return(0,Ge.d)(t);throw new u({info:{code:I.DataTypeNoLength}},\"Cannot calculate data length: Invalid type\")}(n)}`),i||(s[\"If-None-Match\"]=\"*\");const a=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:s,data:n},t,r);return l=function(e){try{Ht(t,e)}catch(t){const e=t;if(412!==e.status||i)throw e;return!1}return!0},(c=Q(a,t))&&c.then||(c=Promise.resolve(c)),l?c.then(l):c;var c,l})),He=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"OPTIONS\"},t,n);return i=function(e){try{Ht(t,e)}catch(t){throw t}return{compliance:(e.headers.get(\"DAV\")??\"\").split(\",\").map((t=>t.trim())),server:e.headers.get(\"Server\")??\"\"}},(o=Q(r,t))&&o.then||(o=Promise.resolve(o)),i?o.then(i):o;var o,i}));function Xe(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ze=Je((function(t,e,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(n>r||n<0)throw new u({info:{code:I.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);const s={\"Content-Type\":\"application/octet-stream\",\"Content-Length\":\"\"+(r-n+1),\"Content-Range\":`bytes ${n}-${r}/*`},a=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:s,data:o},t,i);return Xe(Q(a,t),(function(e){Ht(t,e)}))}));function Ye(t,e){var n=t();return n&&n.then?n.then(e):e(n)}const Ke=Je((function(t,e,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(n>r||n<0)throw new u({info:{code:I.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);const s={\"Content-Type\":\"application/x-sabredav-partialupdate\",\"Content-Length\":\"\"+(r-n+1),\"X-Update-Range\":`bytes=${n}-${r}`},a=tt({url:y(t.remoteURL,f(e)),method:\"PATCH\",headers:s,data:o},t,i);return Xe(Q(a,t),(function(e){Ht(t,e)}))}));function Je(t){return function(){for(var e=[],n=0;n5&&void 0!==arguments[5]?arguments[5]:{};return Xe(He(t,e,i),(function(s){let a=!1;return Ye((function(){if(s.compliance.includes(\"sabredav-partialupdate\"))return Xe(Ke(t,e,n,r,o,i),(function(t){return a=!0,t}))}),(function(c){let l=!1;return a?c:Ye((function(){if(s.server.includes(\"Apache\")&&s.compliance.includes(\"\"))return Xe(Ze(t,e,n,r,o,i),(function(t){return l=!0,t}))}),(function(t){if(l)return t;throw new u({info:{code:I.NotSupported}},\"Not supported\")}))}))}))})),tn=\"https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md\";function en(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{authType:n=null,remoteBasePath:r,contactHref:o=tn,ha1:i,headers:s={},httpAgent:a,httpsAgent:c,password:l,token:h,username:p,withCredentials:d}=e;let g=n;g||(g=p||l?C.Password:C.None);const v={authType:g,remoteBasePath:r,contactHref:o,ha1:i,headers:Object.assign({},s),httpAgent:a,httpsAgent:c,password:l,remotePath:m(t),remoteURL:t,token:h,username:p,withCredentials:d};return k(v,p,l,h,i),{copyFile:(t,e,n)=>Zt(v,t,e,n),createDirectory:(t,e)=>ye(v,t,e),createReadStream:(t,e)=>function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new(0,be().PassThrough);return we(t,e,n).then((t=>{t.pipe(r)})).catch((t=>{r.emit(\"error\",t)})),r}(v,t,e),createWriteStream:(t,e,n)=>function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:xe;const o=new(0,be().PassThrough),i={};!1===n.overwrite&&(i[\"If-None-Match\"]=\"*\");const s=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:i,data:o,maxRedirects:0},t,n);return Q(s,t).then((e=>Ht(t,e))).then((t=>{setTimeout((()=>{r(t)}),0)})).catch((t=>{o.emit(\"error\",t)})),o}(v,t,e,n),customRequest:(t,e)=>Ne(v,t,e),deleteFile:(t,e)=>Pe(v,t,e),exists:(t,e)=>Ae(v,t,e),getDirectoryContents:(t,e)=>Ee(v,t,e),getFileContents:(t,e)=>Ce(v,t,e),getFileDownloadLink:t=>function(t,e){let n=y(t.remoteURL,f(e));const r=/^https:/i.test(n)?\"https\":\"http\";switch(t.authType){case C.None:break;case C.Password:{const e=O(t.headers.Authorization.replace(/^Basic /i,\"\").trim());n=n.replace(/^https?:\\/\\//,`${r}://${e}@`);break}default:throw new u({info:{code:I.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${t.authType}`)}return n}(v,t),getFileUploadLink:t=>function(t,e){let n=`${y(t.remoteURL,f(e))}?Content-Type=application/octet-stream`;const r=/^https:/i.test(n)?\"https\":\"http\";switch(t.authType){case C.None:break;case C.Password:{const e=O(t.headers.Authorization.replace(/^Basic /i,\"\").trim());n=n.replace(/^https?:\\/\\//,`${r}://${e}@`);break}default:throw new u({info:{code:I.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${t.authType}`)}return n}(v,t),getHeaders:()=>Object.assign({},v.headers),getQuota:t=>Be(v,t),lock:(t,e)=>Ue(v,t,e),moveFile:(t,e,n)=>ze(v,t,e,n),putFileContents:(t,e,n)=>qe(v,t,e,n),partialUpdateFileContents:(t,e,n,r,o)=>Qe(v,t,e,n,r,o),getDAVCompliance:t=>He(v,t),search:(t,e)=>Ve(v,t,e),setHeaders:t=>{v.headers=Object.assign({},t)},stat:(t,e)=>ae(v,t,e),unlock:(t,e,n)=>Me(v,t,e,n)}}var nn=r.hT,rn=r.O4,on=r.Kd,sn=r.YK,an=r.UU,un=r.Gu,cn=r.ky,ln=r.h4,hn=r.ch,pn=r.hq,fn=r.i5;export{nn as AuthType,rn as ErrorCode,on as Request,sn as Response,an as createClient,un as getPatcher,cn as parseStat,ln as parseXML,hn as prepareFileFromProps,pn as processResponsePayload,fn as translateDiskSpace};","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","const util = require('../util');\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // \n\n //Parameter entities are not supported\n // \n\n //Internal entities are supported\n // \n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}\n\nmodule.exports = getIgnoreAttributesFn","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\nconst getIgnoreAttributesFn = require('../ignoreAttributes')\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue\n }\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if(tagName === undefined) continue;\n\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if(!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\nconst getIgnoreAttributesFn = require('../ignoreAttributes')\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = '';\n let val = '';\n const jPath = ajPath.join('.')\n for (let key in jObj) {\n if(!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node only if it is not an attribute\n if (this.isAttribute(key)) {\n val += '';\n }\n } else if (jObj[key] === null) {\n // null attribute should be ignored by the attribute list, but should not cause the tag closing\n if (this.isAttribute(key)) {\n val += '';\n } else if (key[0] === '?') {\n val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n } else {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n }\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n } else if (!attr) {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup){\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr\n }\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath)\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n ' 0 && this.options.processEntities){\n for (let i=0; i arg.length > 0);\n if (nonEmptyArgs.length < 1) {\n return \"\";\n }\n const lastArg = nonEmptyArgs[nonEmptyArgs.length - 1];\n const leadingSlash = nonEmptyArgs[0].charAt(0) === \"/\";\n const trailingSlash = lastArg.charAt(lastArg.length - 1) === \"/\";\n const sections = nonEmptyArgs.reduce((acc, section) => acc.concat(section.split(\"/\")), []);\n let first = !leadingSlash;\n const path = sections.reduce((acc, section) => {\n if (section === \"\") {\n return acc;\n }\n if (first) {\n first = false;\n return acc + section;\n }\n return acc + \"/\" + section;\n }, \"\");\n if (trailingSlash) {\n return path + \"/\";\n }\n return path;\n}\nfunction isSamePath(path1, path2) {\n const pathSections1 = (path1 || \"\").split(\"/\").filter((p) => p !== \".\");\n const pathSections2 = (path2 || \"\").split(\"/\").filter((p) => p !== \".\");\n path1 = joinPaths.apply(void 0, pathSections1);\n path2 = joinPaths.apply(void 0, pathSections2);\n return path1 === path2;\n}\nexport {\n basename,\n dirname,\n encodePath,\n isSamePath,\n joinPaths\n};\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nvar toStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : '@@toStringTag';\n\nvar _internals = /*#__PURE__*/new WeakMap();\n\nvar _promise = /*#__PURE__*/new WeakMap();\n\nclass CancelablePromiseInternal {\n constructor(_ref) {\n var {\n executor = () => {},\n internals = defaultInternals(),\n promise = new Promise((resolve, reject) => executor(resolve, reject, onCancel => {\n internals.onCancelList.push(onCancel);\n }))\n } = _ref;\n\n _classPrivateFieldInitSpec(this, _internals, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _promise, {\n writable: true,\n value: void 0\n });\n\n _defineProperty(this, toStringTag, 'CancelablePromise');\n\n this.cancel = this.cancel.bind(this);\n\n _classPrivateFieldSet(this, _internals, internals);\n\n _classPrivateFieldSet(this, _promise, promise || new Promise((resolve, reject) => executor(resolve, reject, onCancel => {\n internals.onCancelList.push(onCancel);\n })));\n }\n\n then(onfulfilled, onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).then(createCallback(onfulfilled, _classPrivateFieldGet(this, _internals)), createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n catch(onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).catch(createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n finally(onfinally, runWhenCanceled) {\n if (runWhenCanceled) {\n _classPrivateFieldGet(this, _internals).onCancelList.push(onfinally);\n }\n\n return makeCancelable(_classPrivateFieldGet(this, _promise).finally(createCallback(() => {\n if (onfinally) {\n if (runWhenCanceled) {\n _classPrivateFieldGet(this, _internals).onCancelList = _classPrivateFieldGet(this, _internals).onCancelList.filter(callback => callback !== onfinally);\n }\n\n return onfinally();\n }\n }, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n cancel() {\n _classPrivateFieldGet(this, _internals).isCanceled = true;\n\n var callbacks = _classPrivateFieldGet(this, _internals).onCancelList;\n\n _classPrivateFieldGet(this, _internals).onCancelList = [];\n\n for (var callback of callbacks) {\n if (typeof callback === 'function') {\n try {\n callback();\n } catch (err) {\n console.error(err);\n }\n }\n }\n }\n\n isCanceled() {\n return _classPrivateFieldGet(this, _internals).isCanceled === true;\n }\n\n}\n\nexport class CancelablePromise extends CancelablePromiseInternal {\n constructor(executor) {\n super({\n executor\n });\n }\n\n}\n\n_defineProperty(CancelablePromise, \"all\", function all(iterable) {\n return makeAllCancelable(iterable, Promise.all(iterable));\n});\n\n_defineProperty(CancelablePromise, \"allSettled\", function allSettled(iterable) {\n return makeAllCancelable(iterable, Promise.allSettled(iterable));\n});\n\n_defineProperty(CancelablePromise, \"any\", function any(iterable) {\n return makeAllCancelable(iterable, Promise.any(iterable));\n});\n\n_defineProperty(CancelablePromise, \"race\", function race(iterable) {\n return makeAllCancelable(iterable, Promise.race(iterable));\n});\n\n_defineProperty(CancelablePromise, \"resolve\", function resolve(value) {\n return cancelable(Promise.resolve(value));\n});\n\n_defineProperty(CancelablePromise, \"reject\", function reject(reason) {\n return cancelable(Promise.reject(reason));\n});\n\n_defineProperty(CancelablePromise, \"isCancelable\", isCancelablePromise);\n\nexport default CancelablePromise;\nexport function cancelable(promise) {\n return makeCancelable(promise, defaultInternals());\n}\nexport function isCancelablePromise(promise) {\n return promise instanceof CancelablePromise || promise instanceof CancelablePromiseInternal;\n}\n\nfunction createCallback(onResult, internals) {\n if (onResult) {\n return arg => {\n if (!internals.isCanceled) {\n var result = onResult(arg);\n\n if (isCancelablePromise(result)) {\n internals.onCancelList.push(result.cancel);\n }\n\n return result;\n }\n\n return arg;\n };\n }\n}\n\nfunction makeCancelable(promise, internals) {\n return new CancelablePromiseInternal({\n internals,\n promise\n });\n}\n\nfunction makeAllCancelable(iterable, promise) {\n var internals = defaultInternals();\n internals.onCancelList.push(() => {\n for (var resolvable of iterable) {\n if (isCancelablePromise(resolvable)) {\n resolvable.cancel();\n }\n }\n });\n return new CancelablePromiseInternal({\n internals,\n promise\n });\n}\n\nfunction defaultInternals() {\n return {\n isCanceled: false,\n onCancelList: []\n };\n}\n//# sourceMappingURL=CancelablePromise.mjs.map","import { loadState } from \"@nextcloud/initial-state\";\nfunction isPublicShare() {\n return loadState(\"files_sharing\", \"isPublic\", null) ?? document.querySelector(\n 'input#isPublic[type=\"hidden\"][name=\"isPublic\"][value=\"1\"]'\n ) !== null;\n}\nfunction getSharingToken() {\n return loadState(\"files_sharing\", \"sharingToken\", null) ?? document.querySelector('input#sharingToken[type=\"hidden\"]')?.value ?? null;\n}\nexport {\n getSharingToken,\n isPublicShare\n};\n","import { join, basename, extname, dirname } from \"path\";\nimport { encodePath } from \"@nextcloud/paths\";\nimport { getLoggerBuilder } from \"@nextcloud/logger\";\nimport { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { CancelablePromise } from \"cancelable-promise\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nconst logger = getLoggerBuilder().setApp(\"@nextcloud/files\").detectUser().build();\nvar Permission = /* @__PURE__ */ ((Permission2) => {\n Permission2[Permission2[\"NONE\"] = 0] = \"NONE\";\n Permission2[Permission2[\"CREATE\"] = 4] = \"CREATE\";\n Permission2[Permission2[\"READ\"] = 1] = \"READ\";\n Permission2[Permission2[\"UPDATE\"] = 2] = \"UPDATE\";\n Permission2[Permission2[\"DELETE\"] = 8] = \"DELETE\";\n Permission2[Permission2[\"SHARE\"] = 16] = \"SHARE\";\n Permission2[Permission2[\"ALL\"] = 31] = \"ALL\";\n return Permission2;\n})(Permission || {});\nvar FileType = /* @__PURE__ */ ((FileType2) => {\n FileType2[\"Folder\"] = \"folder\";\n FileType2[\"File\"] = \"file\";\n return FileType2;\n})(FileType || {});\nconst isDavResource = function(source, davService) {\n return source.match(davService) !== null;\n};\nconst validateData = (data, davService) => {\n if (data.id && typeof data.id !== \"number\") {\n throw new Error(\"Invalid id type of value\");\n }\n if (!data.source) {\n throw new Error(\"Missing mandatory source\");\n }\n try {\n new URL(data.source);\n } catch (e) {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!data.source.startsWith(\"http\")) {\n throw new Error(\"Invalid source format, only http(s) is supported\");\n }\n if (data.displayname && typeof data.displayname !== \"string\") {\n throw new Error(\"Invalid displayname type\");\n }\n if (data.mtime && !(data.mtime instanceof Date)) {\n throw new Error(\"Invalid mtime type\");\n }\n if (data.crtime && !(data.crtime instanceof Date)) {\n throw new Error(\"Invalid crtime type\");\n }\n if (!data.mime || typeof data.mime !== \"string\" || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n throw new Error(\"Missing or invalid mandatory mime\");\n }\n if (\"size\" in data && typeof data.size !== \"number\" && data.size !== void 0) {\n throw new Error(\"Invalid size type\");\n }\n if (\"permissions\" in data && data.permissions !== void 0 && !(typeof data.permissions === \"number\" && data.permissions >= Permission.NONE && data.permissions <= Permission.ALL)) {\n throw new Error(\"Invalid permissions\");\n }\n if (data.owner && data.owner !== null && typeof data.owner !== \"string\") {\n throw new Error(\"Invalid owner type\");\n }\n if (data.attributes && typeof data.attributes !== \"object\") {\n throw new Error(\"Invalid attributes type\");\n }\n if (data.root && typeof data.root !== \"string\") {\n throw new Error(\"Invalid root type\");\n }\n if (data.root && !data.root.startsWith(\"/\")) {\n throw new Error(\"Root must start with a leading slash\");\n }\n if (data.root && !data.source.includes(data.root)) {\n throw new Error(\"Root must be part of the source\");\n }\n if (data.root && isDavResource(data.source, davService)) {\n const service = data.source.match(davService)[0];\n if (!data.source.includes(join(service, data.root))) {\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n }\n if (data.status && !Object.values(NodeStatus).includes(data.status)) {\n throw new Error(\"Status must be a valid NodeStatus\");\n }\n};\nvar NodeStatus = /* @__PURE__ */ ((NodeStatus2) => {\n NodeStatus2[\"NEW\"] = \"new\";\n NodeStatus2[\"FAILED\"] = \"failed\";\n NodeStatus2[\"LOADING\"] = \"loading\";\n NodeStatus2[\"LOCKED\"] = \"locked\";\n return NodeStatus2;\n})(NodeStatus || {});\nclass Node {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n readonlyAttributes = Object.entries(Object.getOwnPropertyDescriptors(Node.prototype)).filter((e) => typeof e[1].get === \"function\" && e[0] !== \"__proto__\").map((e) => e[0]);\n handler = {\n set: (target, prop, value) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.set(target, prop, value);\n },\n deleteProperty: (target, prop) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.deleteProperty(target, prop);\n },\n // TODO: This is deprecated and only needed for files v3\n get: (target, prop, receiver) => {\n if (this.readonlyAttributes.includes(prop)) {\n logger.warn(`Accessing \"Node.attributes.${prop}\" is deprecated, access it directly on the Node instance.`);\n return Reflect.get(this, prop);\n }\n return Reflect.get(target, prop, receiver);\n }\n };\n constructor(data, davService) {\n validateData(data, davService || this._knownDavService);\n this._data = {\n // TODO: Remove with next major release, this is just for compatibility\n displayname: data.attributes?.displayname,\n ...data,\n attributes: {}\n };\n this._attributes = new Proxy(this._data.attributes, this.handler);\n this.update(data.attributes ?? {});\n if (davService) {\n this._knownDavService = davService;\n }\n }\n /**\n * Get the source url to this object\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin } = new URL(this.source);\n return origin + encodePath(this.source.slice(origin.length));\n }\n /**\n * Get this object name\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get basename() {\n return basename(this.source);\n }\n /**\n * The nodes displayname\n * By default the display name and the `basename` are identical,\n * but it is possible to have a different name. This happens\n * on the files app for example for shared folders.\n */\n get displayname() {\n return this._data.displayname || this.basename;\n }\n /**\n * Set the displayname\n */\n set displayname(displayname) {\n this._data.displayname = displayname;\n }\n /**\n * Get this object's extension\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get extension() {\n return extname(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n *\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get dirname() {\n if (this.root) {\n let source = this.source;\n if (this.isDavResource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return dirname(source.slice(firstMatch + root.length) || \"/\");\n }\n const url = new URL(this.source);\n return dirname(url.pathname);\n }\n /**\n * Get the file mime\n * There is no setter as the mime is not meant to be changed\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Set the file modification time\n */\n set mtime(mtime) {\n this._data.mtime = mtime;\n }\n /**\n * Get the file creation time\n * There is no setter as the creation time is not meant to be changed\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Set the file size\n */\n set size(size) {\n this.updateMtime();\n this._data.size = size;\n }\n /**\n * Get the file attribute\n * This contains all additional attributes not provided by the Node class\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n if (this.owner === null && !this.isDavResource) {\n return Permission.READ;\n }\n return this._data.permissions !== void 0 ? this._data.permissions : Permission.NONE;\n }\n /**\n * Set the file permissions\n */\n set permissions(permissions) {\n this.updateMtime();\n this._data.permissions = permissions;\n }\n /**\n * Get the file owner\n * There is no setter as the owner is not meant to be changed\n */\n get owner() {\n if (!this.isDavResource) {\n return null;\n }\n return this._data.owner;\n }\n /**\n * Is this a dav-related resource ?\n */\n get isDavResource() {\n return isDavResource(this.source, this._knownDavService);\n }\n /**\n * @deprecated use `isDavResource` instead - will be removed in next major version.\n */\n get isDavRessource() {\n return this.isDavResource;\n }\n /**\n * Get the dav root of this object\n * There is no setter as the root is not meant to be changed\n */\n get root() {\n if (this._data.root) {\n return this._data.root.replace(/^(.+)\\/$/, \"$1\");\n }\n if (this.isDavResource) {\n const root = dirname(this.source);\n return root.split(this._knownDavService).pop() || null;\n }\n return null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n let source = this.source;\n if (this.isDavResource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return source.slice(firstMatch + root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * There is no setter as the fileid is not meant to be changed\n */\n get fileid() {\n return this._data?.id;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(status) {\n this._data.status = status;\n }\n /**\n * Get the node data\n */\n get data() {\n return structuredClone(this._data);\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(destination) {\n validateData({ ...this._data, source: destination }, this._knownDavService);\n const oldBasename = this.basename;\n this._data.source = destination;\n if (this.displayname === oldBasename && this.basename !== oldBasename) {\n this.displayname = this.basename;\n }\n this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(basename2) {\n if (basename2.includes(\"/\")) {\n throw new Error(\"Invalid basename\");\n }\n this.move(dirname(this.source) + \"/\" + basename2);\n }\n /**\n * Update the mtime if exists\n */\n updateMtime() {\n if (this._data.mtime) {\n this._data.mtime = /* @__PURE__ */ new Date();\n }\n }\n /**\n * Update the attributes of the node\n * Warning, updating attributes will NOT automatically update the mtime.\n *\n * @param attributes The new attributes to update on the Node attributes\n */\n update(attributes) {\n for (const [name, value] of Object.entries(attributes)) {\n try {\n if (value === void 0) {\n delete this.attributes[name];\n } else {\n this.attributes[name] = value;\n }\n } catch (e) {\n if (e instanceof TypeError) {\n continue;\n }\n throw e;\n }\n }\n }\n}\nclass File extends Node {\n get type() {\n return FileType.File;\n }\n /**\n * Returns a clone of the file\n */\n clone() {\n return new File(this.data);\n }\n}\nclass Folder extends Node {\n constructor(data) {\n super({\n ...data,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return FileType.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n /**\n * Returns a clone of the folder\n */\n clone() {\n return new Folder(this.data);\n }\n}\nconst parsePermissions = function(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"C\") || permString.includes(\"K\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\") || permString.includes(\"N\") || permString.includes(\"V\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n};\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nconst registerDavProperty = function(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n if (typeof window._nc_dav_properties === \"undefined\") {\n window._nc_dav_properties = [...defaultDavProperties];\n window._nc_dav_namespaces = { ...defaultDavNamespaces };\n }\n const namespaces = { ...window._nc_dav_namespaces, ...namespace };\n if (window._nc_dav_properties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n window._nc_dav_properties.push(prop);\n window._nc_dav_namespaces = namespaces;\n return true;\n};\nconst getDavProperties = function() {\n if (typeof window._nc_dav_properties === \"undefined\") {\n window._nc_dav_properties = [...defaultDavProperties];\n }\n return window._nc_dav_properties.map((prop) => `<${prop} />`).join(\" \");\n};\nconst getDavNameSpaces = function() {\n if (typeof window._nc_dav_namespaces === \"undefined\") {\n window._nc_dav_namespaces = { ...defaultDavNamespaces };\n }\n return Object.keys(window._nc_dav_namespaces).map((ns) => `xmlns:${ns}=\"${window._nc_dav_namespaces?.[ns]}\"`).join(\" \");\n};\nconst getDefaultPropfind = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n};\nconst getFavoritesReport = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n};\nconst getRecentSearch = function(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n};\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nconst getClient = function(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n};\nconst getFavoriteNodes = (davClient, path = \"/\", davRoot = defaultRootPath) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await davClient.getDirectoryContents(`${davRoot}${path}`, {\n signal: controller.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n const nodes = contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n resolve(nodes);\n } catch (error) {\n reject(error);\n }\n });\n};\nconst resultToNode = function(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n};\nexport {\n FileType as F,\n Node as N,\n Permission as P,\n getRemoteURL as a,\n defaultRemoteURL as b,\n getClient as c,\n defaultRootPath as d,\n getFavoriteNodes as e,\n defaultDavProperties as f,\n getRootPath as g,\n defaultDavNamespaces as h,\n registerDavProperty as i,\n getDavProperties as j,\n getDavNameSpaces as k,\n getDefaultPropfind as l,\n getFavoritesReport as m,\n getRecentSearch as n,\n logger as o,\n parsePermissions as p,\n File as q,\n resultToNode as r,\n Folder as s,\n NodeStatus as t\n};\n","import { o as logger } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { q, F, s, N, t, P, c, l, m, n, a, g, p, b, r, d, h, f, k, j, e, i } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"path\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get destructive() {\n return this._action.destructive;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass FileListAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n2) => `(${n2})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i2 = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i2++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e2) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.displayname || v.attributes?.displayname || v.basename),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar validator$2 = {};\nvar util$3 = {};\n(function(exports) {\n const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n const getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n };\n const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === \"undefined\");\n };\n exports.isExist = function(v) {\n return typeof v !== \"undefined\";\n };\n exports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n };\n exports.merge = function(target, a2, arrayMode) {\n if (a2) {\n const keys = Object.keys(a2);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n if (arrayMode === \"strict\") {\n target[keys[i2]] = [a2[keys[i2]]];\n } else {\n target[keys[i2]] = a2[keys[i2]];\n }\n }\n }\n };\n exports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return \"\";\n }\n };\n exports.isName = isName;\n exports.getAllMatches = getAllMatches;\n exports.nameRegexp = nameRegexp;\n})(util$3);\nconst util$2 = util$3;\nconst defaultOptions$2 = {\n allowBooleanAttributes: false,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nvalidator$2.validate = function(xmlData, options) {\n options = Object.assign({}, defaultOptions$2, options);\n const tags = [];\n let tagFound = false;\n let reachedRoot = false;\n if (xmlData[0] === \"\\uFEFF\") {\n xmlData = xmlData.substr(1);\n }\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && xmlData[i2 + 1] === \"?\") {\n i2 += 2;\n i2 = readPI(xmlData, i2);\n if (i2.err) return i2;\n } else if (xmlData[i2] === \"<\") {\n let tagStartPos = i2;\n i2++;\n if (xmlData[i2] === \"!\") {\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i2] === \"/\") {\n closingTag = true;\n i2++;\n }\n let tagName = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== \">\" && xmlData[i2] !== \" \" && xmlData[i2] !== \"\t\" && xmlData[i2] !== \"\\n\" && xmlData[i2] !== \"\\r\"; i2++) {\n tagName += xmlData[i2];\n }\n tagName = tagName.trim();\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substring(0, tagName.length - 1);\n i2--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n }\n return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i2));\n }\n const result = readAttributeStr(xmlData, i2);\n if (result === false) {\n return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i2));\n }\n let attrStr = result.value;\n i2 = result.index;\n if (attrStr[attrStr.length - 1] === \"/\") {\n const attrStrStart = i2 - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n } else {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i2));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject(\n \"InvalidTag\",\n \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n getLineNumberForPosition(xmlData, tagStartPos)\n );\n }\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i2 - attrStr.length + isValid.err.line));\n }\n if (reachedRoot === true) {\n return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i2));\n } else if (options.unpairedTags.indexOf(tagName) !== -1) ;\n else {\n tags.push({ tagName, tagStartPos });\n }\n tagFound = true;\n }\n for (i2++; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"!\") {\n i2++;\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else if (xmlData[i2 + 1] === \"?\") {\n i2 = readPI(xmlData, ++i2);\n if (i2.err) return i2;\n } else {\n break;\n }\n } else if (xmlData[i2] === \"&\") {\n const afterAmp = validateAmpersand(xmlData, i2);\n if (afterAmp == -1)\n return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i2));\n i2 = afterAmp;\n } else {\n if (reachedRoot === true && !isWhiteSpace(xmlData[i2])) {\n return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i2));\n }\n }\n }\n if (xmlData[i2] === \"<\") {\n i2--;\n }\n }\n } else {\n if (isWhiteSpace(xmlData[i2])) {\n continue;\n }\n return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i2] + \"' is not expected.\", getLineNumberForPosition(xmlData, i2));\n }\n }\n if (!tagFound) {\n return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n } else if (tags.length == 1) {\n return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n } else if (tags.length > 0) {\n return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t3) => t3.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n }\n return true;\n};\nfunction isWhiteSpace(char) {\n return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n}\nfunction readPI(xmlData, i2) {\n const start = i2;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] == \"?\" || xmlData[i2] == \" \") {\n const tagname = xmlData.substr(start, i2 - start);\n if (i2 > 5 && tagname === \"xml\") {\n return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i2));\n } else if (xmlData[i2] == \"?\" && xmlData[i2 + 1] == \">\") {\n i2++;\n break;\n } else {\n continue;\n }\n }\n }\n return i2;\n}\nfunction readCommentAndCDATA(xmlData, i2) {\n if (xmlData.length > i2 + 5 && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \"-\") {\n for (i2 += 3; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"-\" && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n } else if (xmlData.length > i2 + 8 && xmlData[i2 + 1] === \"D\" && xmlData[i2 + 2] === \"O\" && xmlData[i2 + 3] === \"C\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"Y\" && xmlData[i2 + 6] === \"P\" && xmlData[i2 + 7] === \"E\") {\n let angleBracketsCount = 1;\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n angleBracketsCount++;\n } else if (xmlData[i2] === \">\") {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (xmlData.length > i2 + 9 && xmlData[i2 + 1] === \"[\" && xmlData[i2 + 2] === \"C\" && xmlData[i2 + 3] === \"D\" && xmlData[i2 + 4] === \"A\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"A\" && xmlData[i2 + 7] === \"[\") {\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"]\" && xmlData[i2 + 1] === \"]\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n }\n return i2;\n}\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\nfunction readAttributeStr(xmlData, i2) {\n let attrStr = \"\";\n let startChar = \"\";\n let tagClosed = false;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === doubleQuote || xmlData[i2] === singleQuote) {\n if (startChar === \"\") {\n startChar = xmlData[i2];\n } else if (startChar !== xmlData[i2]) ;\n else {\n startChar = \"\";\n }\n } else if (xmlData[i2] === \">\") {\n if (startChar === \"\") {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i2];\n }\n if (startChar !== \"\") {\n return false;\n }\n return {\n value: attrStr,\n index: i2,\n tagClosed\n };\n}\nconst validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction validateAttributeString(attrStr, options) {\n const matches = util$2.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n for (let i2 = 0; i2 < matches.length; i2++) {\n if (matches[i2][1].length === 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] !== void 0 && matches[i2][4] === void 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' is without value.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] === void 0 && !options.allowBooleanAttributes) {\n return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i2][2] + \"' is not allowed.\", getPositionFromMatch(matches[i2]));\n }\n const attrName = matches[i2][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i2]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n attrNames[attrName] = 1;\n } else {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i2]));\n }\n }\n return true;\n}\nfunction validateNumberAmpersand(xmlData, i2) {\n let re2 = /\\d/;\n if (xmlData[i2] === \"x\") {\n i2++;\n re2 = /[\\da-fA-F]/;\n }\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \";\")\n return i2;\n if (!xmlData[i2].match(re2))\n break;\n }\n return -1;\n}\nfunction validateAmpersand(xmlData, i2) {\n i2++;\n if (xmlData[i2] === \";\")\n return -1;\n if (xmlData[i2] === \"#\") {\n i2++;\n return validateNumberAmpersand(xmlData, i2);\n }\n let count = 0;\n for (; i2 < xmlData.length; i2++, count++) {\n if (xmlData[i2].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i2] === \";\")\n break;\n return -1;\n }\n return i2;\n}\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col\n }\n };\n}\nfunction validateAttrName(attrName) {\n return util$2.isName(attrName);\n}\nfunction validateTagName(tagname) {\n return util$2.isName(tagname);\n}\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\nvar OptionsBuilder = {};\nconst defaultOptions$1 = {\n preserveOrder: false,\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n removeNSPrefix: false,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true,\n //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val2) {\n return val2;\n },\n attributeValueProcessor: function(attrName, val2) {\n return val2;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs) {\n return tagName;\n }\n // skipEmptyListItem: false\n};\nconst buildOptions$1 = function(options) {\n return Object.assign({}, defaultOptions$1, options);\n};\nOptionsBuilder.buildOptions = buildOptions$1;\nOptionsBuilder.defaultOptions = defaultOptions$1;\nclass XmlNode {\n constructor(tagname) {\n this.tagname = tagname;\n this.child = [];\n this[\":@\"] = {};\n }\n add(key, val2) {\n if (key === \"__proto__\") key = \"#__proto__\";\n this.child.push({ [key]: val2 });\n }\n addChild(node) {\n if (node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n } else {\n this.child.push({ [node.tagname]: node.child });\n }\n }\n}\nvar xmlNode$1 = XmlNode;\nconst util$1 = util$3;\nfunction readDocType$1(xmlData, i2) {\n const entities = {};\n if (xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"C\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"Y\" && xmlData[i2 + 7] === \"P\" && xmlData[i2 + 8] === \"E\") {\n i2 = i2 + 9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && !comment) {\n if (hasBody && isEntity(xmlData, i2)) {\n i2 += 7;\n [entityName, val, i2] = readEntityExp(xmlData, i2 + 1);\n if (val.indexOf(\"&\") === -1)\n entities[validateEntityName(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n };\n } else if (hasBody && isElement(xmlData, i2)) i2 += 8;\n else if (hasBody && isAttlist(xmlData, i2)) i2 += 8;\n else if (hasBody && isNotation(xmlData, i2)) i2 += 9;\n else if (isComment) comment = true;\n else throw new Error(\"Invalid DOCTYPE\");\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i2] === \">\") {\n if (comment) {\n if (xmlData[i2 - 1] === \"-\" && xmlData[i2 - 2] === \"-\") {\n comment = false;\n angleBracketsCount--;\n }\n } else {\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n } else if (xmlData[i2] === \"[\") {\n hasBody = true;\n } else {\n exp += xmlData[i2];\n }\n }\n if (angleBracketsCount !== 0) {\n throw new Error(`Unclosed DOCTYPE`);\n }\n } else {\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return { entities, i: i2 };\n}\nfunction readEntityExp(xmlData, i2) {\n let entityName2 = \"\";\n for (; i2 < xmlData.length && (xmlData[i2] !== \"'\" && xmlData[i2] !== '\"'); i2++) {\n entityName2 += xmlData[i2];\n }\n entityName2 = entityName2.trim();\n if (entityName2.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n const startChar = xmlData[i2++];\n let val2 = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== startChar; i2++) {\n val2 += xmlData[i2];\n }\n return [entityName2, val2, i2];\n}\nfunction isComment(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"-\" && xmlData[i2 + 3] === \"-\") return true;\n return false;\n}\nfunction isEntity(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"N\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"I\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"Y\") return true;\n return false;\n}\nfunction isElement(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"L\" && xmlData[i2 + 4] === \"E\" && xmlData[i2 + 5] === \"M\" && xmlData[i2 + 6] === \"E\" && xmlData[i2 + 7] === \"N\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n}\nfunction isAttlist(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"A\" && xmlData[i2 + 3] === \"T\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"L\" && xmlData[i2 + 6] === \"I\" && xmlData[i2 + 7] === \"S\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n}\nfunction isNotation(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"N\" && xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"A\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"I\" && xmlData[i2 + 8] === \"O\" && xmlData[i2 + 9] === \"N\") return true;\n return false;\n}\nfunction validateEntityName(name) {\n if (util$1.isName(name))\n return name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\nvar DocTypeReader = readDocType$1;\nconst hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\nconst consider = {\n hex: true,\n leadingZeros: true,\n decimalPoint: \".\",\n eNotation: true\n //skipLike: /regex/\n};\nfunction toNumber$1(str, options = {}) {\n options = Object.assign({}, consider, options);\n if (!str || typeof str !== \"string\") return str;\n let trimmedStr = str.trim();\n if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n } else {\n const match = numRegex.exec(trimmedStr);\n if (match) {\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]);\n const eNotation = match[4] || match[6];\n if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str;\n else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str;\n else {\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if (numStr.search(/[eE]/) !== -1) {\n if (options.eNotation) return num;\n else return str;\n } else if (eNotation) {\n if (options.eNotation) return num;\n else return str;\n } else if (trimmedStr.indexOf(\".\") !== -1) {\n if (numStr === \"0\" && numTrimmedByZeros === \"\") return num;\n else if (numStr === numTrimmedByZeros) return num;\n else if (sign && numStr === \"-\" + numTrimmedByZeros) return num;\n else return str;\n }\n if (leadingZeros) {\n if (numTrimmedByZeros === numStr) return num;\n else if (sign + numTrimmedByZeros === numStr) return num;\n else return str;\n }\n if (trimmedStr === numStr) return num;\n else if (trimmedStr === sign + numStr) return num;\n return str;\n }\n } else {\n return str;\n }\n }\n}\nfunction trimZeros(numStr) {\n if (numStr && numStr.indexOf(\".\") !== -1) {\n numStr = numStr.replace(/0+$/, \"\");\n if (numStr === \".\") numStr = \"0\";\n else if (numStr[0] === \".\") numStr = \"0\" + numStr;\n else if (numStr[numStr.length - 1] === \".\") numStr = numStr.substr(0, numStr.length - 1);\n return numStr;\n }\n return numStr;\n}\nvar strnum = toNumber$1;\nfunction getIgnoreAttributesFn$2(ignoreAttributes2) {\n if (typeof ignoreAttributes2 === \"function\") {\n return ignoreAttributes2;\n }\n if (Array.isArray(ignoreAttributes2)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes2) {\n if (typeof pattern === \"string\" && attrName === pattern) {\n return true;\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true;\n }\n }\n };\n }\n return () => false;\n}\nvar ignoreAttributes = getIgnoreAttributesFn$2;\nconst util = util$3;\nconst xmlNode = xmlNode$1;\nconst readDocType = DocTypeReader;\nconst toNumber = strnum;\nconst getIgnoreAttributesFn$1 = ignoreAttributes;\nlet OrderedObjParser$1 = class OrderedObjParser {\n constructor(options) {\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue$1;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn$1(this.options.ignoreAttributes);\n }\n};\nfunction addExternalEntities(externalEntities) {\n const entKeys = Object.keys(externalEntities);\n for (let i2 = 0; i2 < entKeys.length; i2++) {\n const ent = entKeys[i2];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n val: externalEntities[ent]\n };\n }\n}\nfunction parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val2 !== void 0) {\n if (this.options.trimValues && !dontTrim) {\n val2 = val2.trim();\n }\n if (val2.length > 0) {\n if (!escapeEntities) val2 = this.replaceEntitiesValue(val2);\n const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode);\n if (newval === null || newval === void 0) {\n return val2;\n } else if (typeof newval !== typeof val2 || newval !== val2) {\n return newval;\n } else if (this.options.trimValues) {\n return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n const trimmedVal = val2.trim();\n if (trimmedVal === val2) {\n return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n return val2;\n }\n }\n }\n }\n}\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(\":\");\n const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n if (tags[0] === \"xmlns\") {\n return \"\";\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\nconst attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === \"string\") {\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length;\n const attrs = {};\n for (let i2 = 0; i2 < len; i2++) {\n const attrName = this.resolveNameSpace(matches[i2][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue;\n }\n let oldVal = matches[i2][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if (aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== void 0) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if (newVal === null || newVal === void 0) {\n attrs[aName] = oldVal;\n } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n attrs[aName] = newVal;\n } else {\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n const xmlObj = new xmlNode(\"!xml\");\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n const ch = xmlData[i2];\n if (ch === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, \"Closing Tag is not closed.\");\n let tagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (this.options.removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n }\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode) {\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n }\n let propIndex = 0;\n if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n this.tagsNodeStack.pop();\n } else {\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n currentNode = this.tagsNodeStack.pop();\n textData = \"\";\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n let tagData = readTagExp(xmlData, i2, false, \"?>\");\n if (!tagData) throw new Error(\"Pi Tag is not closed.\");\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags) ;\n else {\n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n }\n i2 = tagData.closeIndex + 1;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const endIndex = findClosingIndex(xmlData, \"-->\", i2 + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const comment = xmlData.substring(i2 + 4, endIndex - 2);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n }\n i2 = endIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"!D\") {\n const result = readDocType(xmlData, i2);\n this.docTypeEntities = result.entities;\n i2 = result.i;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i2 + 9, closeIndex);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if (val2 == void 0) val2 = \"\";\n if (this.options.cdataPropName) {\n currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n } else {\n currentNode.add(this.options.textNodeName, val2);\n }\n i2 = closeIndex + 2;\n } else {\n let result = readTagExp(xmlData, i2, this.options.removeNSPrefix);\n let tagName = result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode && textData) {\n if (currentNode.tagname !== \"!xml\") {\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n const lastTag = currentNode;\n if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if (tagName !== xmlObj.tagname) {\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i2 = result.closeIndex;\n } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n i2 = result.closeIndex;\n } else {\n const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if (!result2) throw new Error(`Unexpected end of ${rawTagName}`);\n i2 = result2.i;\n tagContent = result2.tagContent;\n }\n const childNode = new xmlNode(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if (tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n this.addChild(currentNode, childNode, jPath);\n } else {\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n const childNode = new xmlNode(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n } else {\n const childNode = new xmlNode(tagName);\n this.tagsNodeStack.push(currentNode);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n currentNode = childNode;\n }\n textData = \"\";\n i2 = closeIndex;\n }\n }\n } else {\n textData += xmlData[i2];\n }\n }\n return xmlObj.child;\n};\nfunction addChild(currentNode, childNode, jPath) {\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n if (result === false) ;\n else if (typeof result === \"string\") {\n childNode.tagname = result;\n currentNode.addChild(childNode);\n } else {\n currentNode.addChild(childNode);\n }\n}\nconst replaceEntitiesValue$1 = function(val2) {\n if (this.options.processEntities) {\n for (let entityName2 in this.docTypeEntities) {\n const entity = this.docTypeEntities[entityName2];\n val2 = val2.replace(entity.regx, entity.val);\n }\n for (let entityName2 in this.lastEntities) {\n const entity = this.lastEntities[entityName2];\n val2 = val2.replace(entity.regex, entity.val);\n }\n if (this.options.htmlEntities) {\n for (let entityName2 in this.htmlEntities) {\n const entity = this.htmlEntities[entityName2];\n val2 = val2.replace(entity.regex, entity.val);\n }\n }\n val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return val2;\n};\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) {\n if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0;\n textData = this.parseTextData(\n textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode\n );\n if (textData !== void 0 && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\nfunction isItStopNode(stopNodes, jPath, currentTagName) {\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true;\n }\n return false;\n}\nfunction tagExpWithClosingIndex(xmlData, i2, closingChar = \">\") {\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i2; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if (closingChar[1]) {\n if (xmlData[index + 1] === closingChar[1]) {\n return {\n data: tagExp,\n index\n };\n }\n } else {\n return {\n data: tagExp,\n index\n };\n }\n } else if (ch === \"\t\") {\n ch = \" \";\n }\n tagExp += ch;\n }\n}\nfunction findClosingIndex(xmlData, str, i2, errMsg) {\n const closingIndex = xmlData.indexOf(str, i2);\n if (closingIndex === -1) {\n throw new Error(errMsg);\n } else {\n return closingIndex + str.length - 1;\n }\n}\nfunction readTagExp(xmlData, i2, removeNSPrefix, closingChar = \">\") {\n const result = tagExpWithClosingIndex(xmlData, i2 + 1, closingChar);\n if (!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if (separatorIndex !== -1) {\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n const rawTagName = tagName;\n if (removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n return {\n tagName,\n tagExp,\n closeIndex,\n attrExpPresent,\n rawTagName\n };\n}\nfunction readStopNodeData(xmlData, tagName, i2) {\n const startIndex = i2;\n let openTagCount = 1;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (closeTagName === tagName) {\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i2),\n i: closeIndex\n };\n }\n }\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n const closeIndex = findClosingIndex(xmlData, \"?>\", i2 + 1, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const closeIndex = findClosingIndex(xmlData, \"-->\", i2 + 3, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"StopNode is not closed.\") - 2;\n i2 = closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i2, \">\");\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n openTagCount++;\n }\n i2 = tagData.closeIndex;\n }\n }\n }\n }\n}\nfunction parseValue(val2, shouldParse, options) {\n if (shouldParse && typeof val2 === \"string\") {\n const newval = val2.trim();\n if (newval === \"true\") return true;\n else if (newval === \"false\") return false;\n else return toNumber(val2, options);\n } else {\n if (util.isExist(val2)) {\n return val2;\n } else {\n return \"\";\n }\n }\n}\nvar OrderedObjParser_1 = OrderedObjParser$1;\nvar node2json = {};\nfunction prettify$1(node, options) {\n return compress(node, options);\n}\nfunction compress(arr, options, jPath) {\n let text;\n const compressedObj = {};\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const property = propName$1(tagObj);\n let newJpath = \"\";\n if (jPath === void 0) newJpath = property;\n else newJpath = jPath + \".\" + property;\n if (property === options.textNodeName) {\n if (text === void 0) text = tagObj[property];\n else text += \"\" + tagObj[property];\n } else if (property === void 0) {\n continue;\n } else if (tagObj[property]) {\n let val2 = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val2, options);\n if (tagObj[\":@\"]) {\n assignAttributes(val2, tagObj[\":@\"], newJpath, options);\n } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n val2 = val2[options.textNodeName];\n } else if (Object.keys(val2).length === 0) {\n if (options.alwaysCreateTextNode) val2[options.textNodeName] = \"\";\n else val2 = \"\";\n }\n if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n if (!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [compressedObj[property]];\n }\n compressedObj[property].push(val2);\n } else {\n if (options.isArray(property, newJpath, isLeaf)) {\n compressedObj[property] = [val2];\n } else {\n compressedObj[property] = val2;\n }\n }\n }\n }\n if (typeof text === \"string\") {\n if (text.length > 0) compressedObj[options.textNodeName] = text;\n } else if (text !== void 0) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\nfunction propName$1(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (key !== \":@\") return key;\n }\n}\nfunction assignAttributes(obj, attrMap, jpath, options) {\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n const atrrName = keys[i2];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [attrMap[atrrName]];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\nfunction isLeafTag(obj, options) {\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n if (propCount === 0) {\n return true;\n }\n if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n return true;\n }\n return false;\n}\nnode2json.prettify = prettify$1;\nconst { buildOptions } = OptionsBuilder;\nconst OrderedObjParser2 = OrderedObjParser_1;\nconst { prettify } = node2json;\nconst validator$1 = validator$2;\nlet XMLParser$1 = class XMLParser {\n constructor(options) {\n this.externalEntities = {};\n this.options = buildOptions(options);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData, validationOption) {\n if (typeof xmlData === \"string\") ;\n else if (xmlData.toString) {\n xmlData = xmlData.toString();\n } else {\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n }\n if (validationOption) {\n if (validationOption === true) validationOption = {};\n const result = validator$1.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n }\n }\n const orderedObjParser = new OrderedObjParser2(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value) {\n if (value.indexOf(\"&\") !== -1) {\n throw new Error(\"Entity value can't have '&'\");\n } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n } else if (value === \"&\") {\n throw new Error(\"An entity with value '&' is not permitted\");\n } else {\n this.externalEntities[key] = value;\n }\n }\n};\nvar XMLParser_1 = XMLParser$1;\nconst EOL = \"\\n\";\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const tagName = propName(tagObj);\n if (tagName === void 0) continue;\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName;\n else newJPath = `${jPath}.${tagName}`;\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr2 = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\n }\n isPreviousElementTag = true;\n }\n return xmlStr;\n}\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i2 = 0; i2 < options.entities.length; i2++) {\n const entity = options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nvar orderedJs2Xml = toXml;\nconst buildFromOrderedJs = orderedJs2Xml;\nconst getIgnoreAttributesFn = ignoreAttributes;\nconst defaultOptions = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: \" \",\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a2) {\n return a2;\n },\n attributeValueProcessor: function(attrName, a2) {\n return a2;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function() {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n this.processTextOrObjNode = processTextOrObjNode;\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = \">\\n\";\n this.newLine = \"\\n\";\n } else {\n this.indentate = function() {\n return \"\";\n };\n this.tagEndChar = \">\";\n this.newLine = \"\";\n }\n}\nBuilder.prototype.build = function(jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n };\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\nBuilder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = \"\";\n let val2 = \"\";\n const jPath = ajPath.join(\".\");\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === \"undefined\") {\n if (this.isAttribute(key)) {\n val2 += \"\";\n }\n } else if (jObj[key] === null) {\n if (this.isAttribute(key)) {\n val2 += \"\";\n } else if (key[0] === \"?\") {\n val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n } else {\n val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n }\n } else if (jObj[key] instanceof Date) {\n val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n } else if (typeof jObj[key] !== \"object\") {\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n } else if (!attr) {\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n val2 += this.replaceEntitiesValue(newval);\n } else {\n val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j2 = 0; j2 < arrLen; j2++) {\n const item = jObj[key][j2];\n if (typeof item === \"undefined\") ;\n else if (item === null) {\n if (key[0] === \"?\") val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n else val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n } else if (typeof item === \"object\") {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr;\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath);\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, \"\", level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val2 += listTagVal;\n } else {\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j2 = 0; j2 < L; j2++) {\n attrStr += this.buildAttrPairStr(Ks[j2], \"\" + jObj[key][Ks[j2]]);\n }\n } else {\n val2 += this.processTextOrObjNode(jObj[key], key, level, ajPath);\n }\n }\n }\n return { attrStr, val: val2 };\n};\nBuilder.prototype.buildAttrPairStr = function(attrName, val2) {\n val2 = this.options.attributeValueProcessor(attrName, \"\" + val2);\n val2 = this.replaceEntitiesValue(val2);\n if (this.options.suppressBooleanAttributes && val2 === \"true\") {\n return \" \" + attrName;\n } else return \" \" + attrName + '=\"' + val2 + '\"';\n};\nfunction processTextOrObjNode(object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\nBuilder.prototype.buildObjectNode = function(val2, key, attrStr, level) {\n if (val2 === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n else {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n let tagEndExp = \"\" + val2 + tagEndExp;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp;\n }\n }\n};\nBuilder.prototype.closeTag = function(key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) {\n if (!this.options.suppressUnpairedNode) closeTag = \"/\";\n } else if (this.options.suppressEmptyNode) {\n closeTag = \"/\";\n } else {\n closeTag = `>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n } else if (key[0] === \"?\") {\n return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val2);\n textValue = this.replaceEntitiesValue(textValue);\n if (textValue === \"\") {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \" 0 && this.options.processEntities) {\n for (let i2 = 0; i2 < this.options.entities.length; i2++) {\n const entity = this.options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n};\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\nfunction isAttribute(name) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\nvar json2xml = Builder;\nconst validator = validator$2;\nconst XMLParser2 = XMLParser_1;\nconst XMLBuilder = json2xml;\nvar fxp = {\n XMLParser: XMLParser2,\n XMLValidator: validator,\n XMLBuilder\n};\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n if (fxp.XMLValidator.validate(string) !== true) {\n return false;\n }\n let jsonObject;\n const parser = new fxp.XMLParser();\n try {\n jsonObject = parser.parse(string);\n } catch {\n return false;\n }\n if (!jsonObject) {\n return false;\n }\n if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n return false;\n }\n return true;\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (\"caption\" in view && typeof view.caption !== \"string\") {\n throw new Error(\"View caption must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (\"order\" in view && typeof view.order !== \"number\") {\n throw new Error(\"View order must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nconst debug$1 = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n};\nvar debug_1 = debug$1;\nconst SEMVER_SPEC_VERSION = \"2.0.0\";\nconst MAX_LENGTH$1 = 256;\nconst MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n9007199254740991;\nconst MAX_SAFE_COMPONENT_LENGTH = 16;\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH$1 - 6;\nconst RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n];\nvar constants = {\n MAX_LENGTH: MAX_LENGTH$1,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n};\nvar re$1 = { exports: {} };\n(function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH2,\n MAX_SAFE_BUILD_LENGTH: MAX_SAFE_BUILD_LENGTH2,\n MAX_LENGTH: MAX_LENGTH2\n } = constants;\n const debug2 = debug_1;\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t3 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH2],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH2]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug2(name, index, value);\n t3[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t3.NUMERICIDENTIFIER]})\\\\.(${src[t3.NUMERICIDENTIFIER]})\\\\.(${src[t3.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t3.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t3.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t3.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t3.NUMERICIDENTIFIER]}|${src[t3.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t3.NUMERICIDENTIFIERLOOSE]}|${src[t3.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t3.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t3.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t3.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t3.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t3.BUILDIDENTIFIER]}(?:\\\\.${src[t3.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t3.MAINVERSION]}${src[t3.PRERELEASE]}?${src[t3.BUILD]}?`);\n createToken(\"FULL\", `^${src[t3.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t3.MAINVERSIONLOOSE]}${src[t3.PRERELEASELOOSE]}?${src[t3.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t3.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t3.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t3.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t3.XRANGEIDENTIFIER]})(?:\\\\.(${src[t3.XRANGEIDENTIFIER]})(?:\\\\.(${src[t3.XRANGEIDENTIFIER]})(?:${src[t3.PRERELEASE]})?${src[t3.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t3.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t3.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t3.XRANGEIDENTIFIERLOOSE]})(?:${src[t3.PRERELEASELOOSE]})?${src[t3.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t3.GTLT]}\\\\s*${src[t3.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t3.GTLT]}\\\\s*${src[t3.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH2}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?`);\n createToken(\"COERCE\", `${src[t3.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t3.COERCEPLAIN] + `(?:${src[t3.PRERELEASE]})?(?:${src[t3.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t3.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t3.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t3.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t3.LONETILDE]}${src[t3.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t3.LONETILDE]}${src[t3.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t3.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t3.LONECARET]}${src[t3.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t3.LONECARET]}${src[t3.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t3.GTLT]}\\\\s*(${src[t3.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t3.GTLT]}\\\\s*(${src[t3.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t3.GTLT]}\\\\s*(${src[t3.LOOSEPLAIN]}|${src[t3.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t3.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t3.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t3.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t3.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n})(re$1, re$1.exports);\nvar reExports = re$1.exports;\nconst looseOption = Object.freeze({ loose: true });\nconst emptyOpts = Object.freeze({});\nconst parseOptions$1 = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n};\nvar parseOptions_1 = parseOptions$1;\nconst numeric = /^[0-9]+$/;\nconst compareIdentifiers$1 = (a2, b2) => {\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n};\nconst rcompareIdentifiers = (a2, b2) => compareIdentifiers$1(b2, a2);\nvar identifiers = {\n compareIdentifiers: compareIdentifiers$1,\n rcompareIdentifiers\n};\nconst debug = debug_1;\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = constants;\nconst { safeRe: re, t: t2 } = reExports;\nconst parseOptions = parseOptions_1;\nconst { compareIdentifiers } = identifiers;\nlet SemVer$2 = class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m2 = version.trim().match(options.loose ? re[t2.LOOSE] : re[t2.FULL]);\n if (!m2) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m2[1];\n this.minor = +m2[2];\n this.patch = +m2[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m2[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m2[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m2[5] ? m2[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i2 = 0;\n do {\n const a2 = this.prerelease[i2];\n const b2 = other.prerelease[i2];\n debug(\"prerelease compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i2 = 0;\n do {\n const a2 = this.build[i2];\n const b2 = other.build[i2];\n debug(\"build compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i2 = this.prerelease.length;\n while (--i2 >= 0) {\n if (typeof this.prerelease[i2] === \"number\") {\n this.prerelease[i2]++;\n i2 = -2;\n }\n }\n if (i2 === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n};\nvar semver = SemVer$2;\nconst SemVer$1 = semver;\nconst parse$1 = (version, options, throwErrors = false) => {\n if (version instanceof SemVer$1) {\n return version;\n }\n try {\n return new SemVer$1(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n};\nvar parse_1 = parse$1;\nconst parse = parse_1;\nconst valid = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n};\nvar valid_1 = valid;\nconst valid$1 = /* @__PURE__ */ getDefaultExportFromCjs(valid_1);\nconst SemVer2 = semver;\nconst major = (a2, loose) => new SemVer2(a2, loose).major;\nvar major_1 = major;\nconst major$1 = /* @__PURE__ */ getDefaultExportFromCjs(major_1);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid$1(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major$1(bus2.getVersion()) !== major$1(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h2) => h2 !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h2) => {\n try {\n h2(event);\n } catch (e2) {\n console.error(\"could not invoke event listener\", e2);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n q as File,\n FileAction,\n FileListAction,\n FileListFilter,\n F as FileType,\n FilesSortingMode,\n s as Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n t as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n c as davGetClient,\n l as davGetDefaultPropfind,\n m as davGetFavoritesReport,\n n as davGetRecentSearch,\n a as davGetRemoteURL,\n g as davGetRootPath,\n p as davParsePermissions,\n b as davRemoteURL,\n r as davResultToNode,\n d as davRootPath,\n h as defaultDavNamespaces,\n f as defaultDavProperties,\n formatFileSize,\n k as getDavNameSpaces,\n j as getDavProperties,\n e as getFavoriteNodes,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n i as registerDavProperty,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nconst getLogger = user => {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('end_to_end_encryption')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('end_to_end_encryption')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nexport function bufferToString(buffer: Uint8Array): string {\n\treturn String.fromCharCode(...buffer)\n}\n\nexport function stringToBuffer(str: string): Uint8Array {\n\treturn Uint8Array.from(str, c => c.charCodeAt(0))\n}\n\nexport function bufferToBase64(buffer: Uint8Array): string {\n\treturn btoa(bufferToString(buffer))\n}\n\nexport function base64ToBuffer(base64Str: string): Uint8Array {\n\treturn stringToBuffer(atob(base64Str))\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport type { Metadata, PrivateKeyInfo } from '../models'\nimport { base64ToBuffer } from './utils'\n\n// API: https://github.com/nextcloud/end_to_end_encryption/blob/master/doc/api.md\n\nconst API_ROOT = 'apps/end_to_end_encryption/api/v2'\nconst Url = {\n\tPrivateKey: API_ROOT + '/private-key',\n\tMetadata: API_ROOT + '/meta-data/{fileId}',\n}\n\nexport async function getPrivateKey(): Promise {\n\tconst response = await axios.get>(\n\t\tgenerateOcsUrl(Url.PrivateKey),\n\t\t{ headers: { 'X-E2EE-SUPPORTED': 'true' } },\n\t)\n\tconst encryptedPrivateKeyInfo = response.data.ocs.data['private-key']\n\tconst [encryptedPrivateKey, iv, salt] = encryptedPrivateKeyInfo.split('|')\n\treturn {\n\t\tencryptedPrivateKey: base64ToBuffer(encryptedPrivateKey),\n\t\tiv: base64ToBuffer(iv),\n\t\tsalt: base64ToBuffer(salt),\n\t}\n}\n\nexport async function getMetadata(fileId: string): Promise {\n\tconst response = await axios.get>(\n\t\tgenerateOcsUrl(Url.Metadata, { fileId }),\n\t\t{ headers: { 'X-E2EE-SUPPORTED': 'true' } },\n\t)\n\treturn JSON.parse(response.data.ocs.data['meta-data']) as Metadata\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nexport async function encryptWithAES(content: BufferSource, key: CryptoKey, options: Partial = {}) {\n\tconst iv = self.crypto.getRandomValues(new Uint8Array(16))\n\n\tconst encryptedContent = await self.crypto.subtle.encrypt(\n\t\t{ name: 'AES-GCM', iv, ...options },\n\t\tkey,\n\t\tcontent,\n\t)\n\n\treturn {\n\t\tencryptedContent: new Uint8Array(encryptedContent),\n\t\tiv,\n\t}\n}\n\nexport async function decryptWithAES(content: BufferSource, key: CryptoKey, options: Partial = {}): Promise {\n\treturn await self.crypto.subtle.decrypt(\n\t\t{ name: 'AES-GCM', ...options },\n\t\tkey,\n\t\tcontent,\n\t)\n}\n\nexport async function decryptWithRSA(content: BufferSource, key: CryptoKey): Promise {\n\treturn await self.crypto.subtle.decrypt(\n\t\t{ name: 'RSA-OAEP' },\n\t\tkey,\n\t\tcontent,\n\t)\n}\n\nexport async function loadAESPrivateKey(key: ArrayBuffer): Promise {\n\treturn await self.crypto.subtle.importKey(\n\t\t'raw',\n\t\tkey,\n\t\t{\n\t\t\tname: 'AES-GCM',\n\t\t\tlength: 128,\n\t\t},\n\t\ttrue,\n\t\t['decrypt', 'encrypt'],\n\t)\n}\n\nexport async function loadRSAPrivateKey(key: ArrayBuffer): Promise {\n\treturn await self.crypto.subtle.importKey(\n\t\t'pkcs8',\n\t\tkey,\n\t\t{\n\t\t\tname: 'RSA-OAEP',\n\t\t\thash: 'SHA-256',\n\t\t},\n\t\ttrue,\n\t\t['decrypt'],\n\t)\n}\n\nexport async function exportRSAKey(key: CryptoKey): Promise {\n\tif (key.type === 'public') {\n\t\treturn new Uint8Array(await self.crypto.subtle.exportKey('spki', key))\n\t} else {\n\t\treturn new Uint8Array(await self.crypto.subtle.exportKey('pkcs8', key))\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Metadata, MetadataInfo } from '../models'\nimport logger from './logger.ts'\nimport { getMetadata } from './api'\nimport { base64ToBuffer } from './utils'\nimport { decryptWithAES, decryptWithRSA, loadAESPrivateKey } from './crypto.ts'\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nexport async function getMetadataInfo(fileId: string, metadataPrivateKey: CryptoKey): Promise {\n\tlogger.debug('Getting metadata info', { fileId })\n\treturn await decryptMetadataInfo(await getMetadata(fileId), metadataPrivateKey)\n}\n\nexport async function decryptMetadataInfo(metadata: Metadata, metadataPrivateKey: CryptoKey): Promise {\n\tlogger.debug('Decrypting metadata info', { metadata })\n\n\tconst [encryptedMetadata, iv] = metadata.metadata.ciphertext.split('|')\n\n\tconst compressedMetadataInfo = await decryptWithAES(\n\t\tbase64ToBuffer(encryptedMetadata),\n\t\tmetadataPrivateKey,\n\t\t{ iv: base64ToBuffer(iv) },\n\t)\n\n\treturn JSON.parse(await unzipBuffer(compressedMetadataInfo))\n}\n\nasync function unzipBuffer(buffer: ArrayBuffer): Promise {\n\tconst stream = new ReadableStream({\n\t\tstart(controller) {\n\t\t\tcontroller.enqueue(new Uint8Array(buffer))\n\t\t\tcontroller.close()\n\t\t},\n\t})\n\n\tconst decompressedStream = stream.pipeThrough(new DecompressionStream('gzip'))\n\treturn await new Response(decompressedStream).text()\n}\n\nexport async function getMetadataPrivateKey(metadata: Metadata, userId: string, privateKey: CryptoKey): Promise {\n\tlogger.debug('Getting metadata private key', { metadata, userId })\n\n\tconst userInfo = metadata.users?.find(user => user.userId === userId)\n\n\tif (!userInfo) {\n\t\tthrow new Error('User not found in metadata')\n\t}\n\n\tconst encryptedMetadataPrivateKey = base64ToBuffer(userInfo.encryptedMetadataKey)\n\tconst rawMetadataPrivateKey = await decryptWithRSA(encryptedMetadataPrivateKey, privateKey)\n\treturn await loadAESPrivateKey(rawMetadataPrivateKey)\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport logger from './logger.ts'\nimport type { PrivateKeyInfo } from '../models.ts'\nimport { decryptWithAES, loadRSAPrivateKey } from './crypto.ts'\nimport { base64ToBuffer, bufferToString } from './utils.ts'\n\nconst PEM_HEADER = '-----BEGIN PRIVATE KEY-----'\nconst PEM_FOOTER = '-----END PRIVATE KEY-----'\n\nexport async function decryptPrivateKey(privateKeyInfo: PrivateKeyInfo, mnemonic: string): Promise {\n\tlogger.debug('Decrypting private key', { privateKeyInfo, mnemonic })\n\n\tconst mnemonicPrivateKey = await mnemonicToPrivateKey(mnemonic, privateKeyInfo.salt)\n\n\tconst rawPrivateKey = await decryptWithAES(\n\t\tprivateKeyInfo.encryptedPrivateKey,\n\t\tmnemonicPrivateKey,\n\t\t{ iv: privateKeyInfo.iv, tagLength: 128 },\n\t)\n\n\treturn loadPemKey(atob(bufferToString(new Uint8Array(rawPrivateKey))))\n}\n\nasync function mnemonicToPrivateKey(mnemonic: string, salt: ArrayBuffer): Promise {\n\tconst keyMaterial = await crypto.subtle.importKey(\n\t\t'raw',\n\t\tnew TextEncoder().encode(mnemonic.replaceAll(' ', '')),\n\t\t{ name: 'PBKDF2' },\n\t\tfalse,\n\t\t['deriveKey'],\n\t)\n\n\treturn await crypto.subtle.deriveKey(\n\t\t{\n\t\t\tname: 'PBKDF2',\n\t\t\tsalt,\n\t\t\thash: 'SHA-1', // TODO: Futur - 'SHA-256'\n\t\t\titerations: 1024, // TODO: Futur - 600000\n\t\t},\n\t\tkeyMaterial,\n\t\t{ name: 'AES-GCM', length: 256 },\n\t\ttrue,\n\t\t['decrypt', 'encrypt'],\n\t)\n}\n\nasync function loadPemKey(pem: string): Promise {\n\tlogger.debug('Loading PEM key', { pem })\n\n\tconst pemContents = pem\n\t\t.substring(\n\t\t\tPEM_HEADER.length,\n\t\t\tpem.length - PEM_FOOTER.length - 1,\n\t\t)\n\t\t.replace(/\\n/g, '')\n\n\treturn loadRSAPrivateKey(base64ToBuffer(pemContents))\n}\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"AlertCircleOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon alert-circle-outline-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst AlertCircle = __component__.exports;\nexport {\n AlertCircle as A\n};\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"CheckIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon check-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst Check = __component__.exports;\nexport {\n Check as C\n};\n","import '../assets/NcInputField-CUsdr7lV.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { A as AlertCircle } from \"./AlertCircleOutline-DBxbepLy.mjs\";\nimport { C as Check } from \"./Check-BkThHPH7.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcInputField\",\n components: {\n NcButton,\n AlertCircle,\n Check\n },\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: [String, Number],\n default: void 0\n },\n /**\n * The value of the input field\n * If type is 'number' and a number is passed as value than the type of `update:modelValue` will also be 'number'\n */\n modelValue: {\n type: [String, Number],\n default: void 0\n },\n /**\n * The type of the input element\n */\n type: {\n type: String,\n default: \"text\",\n validator: (value) => [\n \"text\",\n \"password\",\n \"email\",\n \"tel\",\n \"url\",\n \"search\",\n \"number\"\n ].includes(value)\n },\n /**\n * The input label, always provide one for accessibility purposes.\n * This will also be used as a placeholder unless the placeholder\n * prop is populated with a different string.\n *\n * Note: If the background color is not `--color-main-background` consider using an external label instead (see `labelOutside`).\n */\n label: {\n type: String,\n default: void 0\n },\n /**\n * Pass in true if you want to use an external label. This is useful\n * if you need a label that looks different from the one provided by\n * this component\n */\n labelOutside: {\n type: Boolean,\n default: false\n },\n /**\n * The placeholder of the input. This defaults as the string that's\n * passed into the label prop. In order to remove the placeholder,\n * pass in an empty string.\n */\n placeholder: {\n type: String,\n default: void 0\n },\n /**\n * Controls whether to display the trailing button.\n */\n showTrailingButton: {\n type: Boolean,\n default: false\n },\n /**\n * Label of the trailing button\n *\n * Required when showTrailingButton is set\n */\n trailingButtonLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Toggles the success state of the component. Adds a checkmark icon.\n * this cannot be used together with canClear.\n */\n success: {\n type: Boolean,\n default: false\n },\n /**\n * Toggles the error state of the component. Adds an error icon.\n * this cannot be used together with canClear.\n */\n error: {\n type: Boolean,\n default: false\n },\n /**\n * Additional helper text message\n *\n * This will be displayed beneath the input field. In case the field is\n * also marked as having an error, the text will be displayed in red.\n */\n helperText: {\n type: String,\n default: \"\"\n },\n /**\n * Disable the input field\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Specifies whether the input should have a pill form.\n * By default, input has rounded corners.\n */\n pill: {\n type: Boolean,\n default: false\n },\n /**\n * Class to add to the input field.\n * Necessary to use NcInputField in the NcActionInput component.\n */\n inputClass: {\n type: [Object, String],\n default: \"\"\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"trailing-button-click\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\", true);\n return {\n model\n };\n },\n computed: {\n computedId() {\n return this.$attrs.id && this.$attrs.id !== \"\" ? this.$attrs.id : this.inputName;\n },\n inputName() {\n return \"input\" + GenRandomId();\n },\n hasLeadingIcon() {\n return this.$slots.default;\n },\n hasTrailingIcon() {\n return this.success;\n },\n hasPlaceholder() {\n return this.placeholder !== \"\" && this.placeholder !== void 0;\n },\n computedPlaceholder() {\n return this.hasPlaceholder ? this.placeholder : this.label;\n },\n isValidLabel() {\n const isValidLabel = this.label || this.labelOutside;\n if (!isValidLabel) {\n console.warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel;\n },\n ariaDescribedby() {\n const ariaDescribedby = [];\n if (this.helperText.length > 0) {\n ariaDescribedby.push(`${this.inputName}-helper-text`);\n }\n if (this.$attrs[\"aria-describedby\"]) {\n ariaDescribedby.push(this.$attrs[\"aria-describedby\"]);\n }\n return ariaDescribedby.join(\" \") || null;\n }\n },\n methods: {\n /**\n * Focus the input element\n *\n * @public\n */\n focus() {\n this.$refs.input.focus();\n },\n /**\n * Select all the text in the input\n *\n * @public\n */\n select() {\n this.$refs.input.select();\n },\n handleInput(event) {\n const newValue = this.type === \"number\" && typeof this.model === \"number\" ? parseFloat(event.target.value, 10) : event.target.value;\n this.model = newValue;\n },\n handleTrailingButtonClick(event) {\n this.$emit(\"trailing-button-click\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"input-field\", class: {\n \"input-field--disabled\": _vm.disabled,\n \"input-field--label-outside\": _vm.labelOutside || !_vm.isValidLabel,\n \"input-field--leading-icon\": _vm.hasLeadingIcon,\n \"input-field--trailing-icon\": _vm.showTrailingButton || _vm.hasTrailingIcon,\n \"input-field--pill\": _vm.pill\n } }, [_c(\"div\", { staticClass: \"input-field__main-wrapper\" }, [_c(\"input\", _vm._g(_vm._b({ ref: \"input\", staticClass: \"input-field__input\", class: [\n _vm.inputClass,\n {\n \"input-field__input--success\": _vm.success,\n \"input-field__input--error\": _vm.error\n }\n ], attrs: { \"id\": _vm.computedId, \"type\": _vm.type, \"disabled\": _vm.disabled, \"placeholder\": _vm.computedPlaceholder, \"aria-describedby\": _vm.ariaDescribedby, \"aria-live\": \"polite\" }, domProps: { \"value\": _vm.model?.toString() }, on: { \"input\": _vm.handleInput } }, \"input\", _vm.$attrs, false), _vm.$listeners)), !_vm.labelOutside && _vm.isValidLabel ? _c(\"label\", { staticClass: \"input-field__label\", attrs: { \"for\": _vm.computedId } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]) : _vm._e(), _c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasLeadingIcon, expression: \"hasLeadingIcon\" }], staticClass: \"input-field__icon input-field__icon--leading\" }, [_vm._t(\"default\")], 2), _vm.showTrailingButton ? _c(\"NcButton\", { staticClass: \"input-field__trailing-button\", attrs: { \"type\": \"tertiary-no-background\", \"aria-label\": _vm.trailingButtonLabel, \"disabled\": _vm.disabled }, on: { \"click\": _vm.handleTrailingButtonClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"trailing-button-icon\")];\n }, proxy: true }], null, true) }) : _vm.success || _vm.error ? _c(\"div\", { staticClass: \"input-field__icon input-field__icon--trailing\" }, [_vm.success ? _c(\"Check\", { staticStyle: { \"color\": \"var(--color-success-text)\" }, attrs: { \"size\": 20 } }) : _vm.error ? _c(\"AlertCircle\", { staticStyle: { \"color\": \"var(--color-error-text)\" }, attrs: { \"size\": 20 } }) : _vm._e()], 1) : _vm._e()], 1), _vm.helperText.length > 0 ? _c(\"p\", { staticClass: \"input-field__helper-text-message\", class: {\n \"input-field__helper-text-message--error\": _vm.error,\n \"input-field__helper-text-message--success\": _vm.success\n }, attrs: { \"id\": `${_vm.inputName}-helper-text` } }, [_vm.success ? _c(\"Check\", { staticClass: \"input-field__helper-text-message__icon\", attrs: { \"size\": 18 } }) : _vm.error ? _c(\"AlertCircle\", { staticClass: \"input-field__helper-text-message__icon\", attrs: { \"size\": 18 } }) : _vm._e(), _vm._v(\" \" + _vm._s(_vm.helperText) + \" \")], 1) : _vm._e()]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"e4fac465\"\n);\nconst NcInputField = __component__.exports;\nexport {\n NcInputField as N\n};\n","import { N as NcInputField } from \"./NcInputField-ixTTHy3h.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { r as register, d as t48, e as t17, a as t } from \"./_l10n-B-QPoWAJ.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nconst _sfc_main$1 = {\n name: \"UndoVariantIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-variant-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Undo = __component__$1.exports;\nregister(t17, t48);\nconst NcInputFieldProps = new Set(Object.keys(NcInputField.props));\nconst _sfc_main = {\n name: \"NcTextField\",\n components: {\n NcInputField,\n Close,\n ArrowRight,\n Undo\n },\n // Allow forwarding all attributes\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Any [NcInputField](#/Components/NcFields?id=ncinputfield) props\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n // eslint-disable-next-line\n \" \": {},\n // Reuse all the props from NcInputField for better typing and documentation\n ...NcInputField.props,\n /**\n * The `aria-label` to set on the trailing button\n * If no explicit value is set it will default to the one matching the `trailingButtonIcon`:\n * @default 'Clear text'|'Save changes'|'Undo changes'\n */\n trailingButtonLabel: {\n type: String,\n default: \"\"\n },\n // Custom props\n /**\n * Specifies which material design icon should be used for the trailing\n * button.\n * @type {'close'|'arrowRight'|'undo'}\n */\n trailingButtonIcon: {\n type: String,\n default: \"close\",\n validator: (value) => [\n \"close\",\n \"arrowRight\",\n \"undo\"\n ].includes(value)\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model\n };\n },\n computed: {\n propsAndAttrsToForward() {\n const predefinedLabels = {\n undo: t(\"Undo changes\"),\n close: t(\"Clear text\"),\n arrowRight: t(\"Save changes\")\n };\n return {\n // Proxy all the HTML attributes\n ...this.$attrs,\n // Proxy original NcInputField's props\n ...Object.fromEntries(\n Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))\n ),\n // Adjust aria-label for predefined trailing buttons\n trailingButtonLabel: this.trailingButtonLabel || predefinedLabels[this.trailingButtonIcon]\n };\n }\n },\n methods: {\n /**\n * Focus the input element\n *\n * @public\n */\n focus() {\n this.$refs.inputField.focus();\n },\n /**\n * Select all the text in the input\n *\n * @public\n */\n select() {\n this.$refs.inputField.select();\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcInputField\", _vm._g(_vm._b({ ref: \"inputField\", scopedSlots: _vm._u([_vm.type !== \"search\" ? { key: \"trailing-button-icon\", fn: function() {\n return [_vm.trailingButtonIcon === \"close\" ? _c(\"Close\", { attrs: { \"size\": 20 } }) : _vm.trailingButtonIcon === \"arrowRight\" ? _c(\"ArrowRight\", { attrs: { \"size\": 20 } }) : _vm.trailingButtonIcon === \"undo\" ? _c(\"Undo\", { attrs: { \"size\": 20 } }) : _vm._e()];\n }, proxy: true } : null], null, true) }, \"NcInputField\", _vm.propsAndAttrsToForward, false), _vm.$listeners), [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcTextField = __component__.exports;\nexport {\n NcTextField as N\n};\n","\n\n\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport { spawnDialog } from '@nextcloud/dialogs'\nimport '@nextcloud/dialogs/style.css'\n\nimport MnemonicPromptDialog from '../components/MnemonicPromptDialog.vue'\n\nexport async function promptUserForMnemonic(): Promise {\n\tconst promiseWithResolvers = Promise.withResolvers()\n\n\tspawnDialog(\n\t\tMnemonicPromptDialog,\n\t\tundefined,\n\t\t(mnemonic) => {\n\t\t\tif (mnemonic !== undefined) {\n\t\t\t\tpromiseWithResolvers.resolve(mnemonic as string)\n\t\t\t} else {\n\t\t\t\tpromiseWithResolvers.reject()\n\t\t\t}\n\t\t},\n\t)\n\n\treturn promiseWithResolvers.promise\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport { type DAVResult, type FileStat, type ResponseDataDetailed, type WebDAVClient, parseStat, parseXML } from 'webdav'\nimport { XMLBuilder } from 'fast-xml-parser'\nimport { basename, dirname } from 'path'\n\nimport { type Node } from '@nextcloud/files'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getClient, getDefaultPropfind, resultToNode } from '@nextcloud/files/dav'\n\nimport type { FileEncryptionInfo, Metadata, MetadataInfo } from '../models'\nimport logger from './logger.ts'\nimport { decryptMetadataInfo, getMetadataPrivateKey } from './metadataUtils'\nimport { getMetadata, getPrivateKey } from './api'\nimport { decryptPrivateKey } from './privateKeyUtils'\nimport { promptUserForMnemonic } from './mnemonicDialogs'\nimport { decryptWithAES, loadAESPrivateKey } from './crypto.ts'\nimport { base64ToBuffer } from './utils'\n\nlet originalFetch: typeof window.fetch\nconst davClient = getClient() as WebDAVClient\nlet privateKey: CryptoKey|undefined\nconst metadataCache: Record = {}\n\nexport function setupWebDavDecryptionProxy() {\n\toriginalFetch = window.fetch\n\tlogger.debug('Setting up WebDAV decryption proxy')\n\n\twindow.fetch = async (input: RequestInfo | URL, config: RequestInit = {}): Promise => {\n\t\tlet request = new Request(input, config)\n\n\t\tif (!(request.url.includes('/remote.php/') && (request.method === 'GET' || request.method === 'PROPFIND'))) {\n\t\t\treturn originalFetch(request)\n\t\t}\n\n\t\tlogger.debug(`Proxying ${request.method} ${request.url}`, { request })\n\n\t\tconst headers = new Headers(request.headers)\n\t\theaders.set('X-E2EE-SUPPORTED', 'true')\n\t\trequest = new Request(request, { headers })\n\n\t\tswitch (request.method) {\n\t\tcase 'PROPFIND':\n\t\t\treturn handlePropFind(request)\n\t\tcase 'GET':\n\t\tdefault:\n\t\t\treturn handleGet(request)\n\t\t}\n\t}\n}\n\nasync function handleGet(request: Request): Promise {\n\tconst path = new URL(request.url).pathname\n\n\tconst rootMetadata = await getRootMetadataForPath(path)\n\tif (rootMetadata === undefined) {\n\t\tlogger.debug('File is not part of e2ee folder', { path })\n\t\treturn originalFetch(request)\n\t}\n\n\tconst metadataInfo = await getMetadataInfoForPath(dirname(path), rootMetadata)\n\n\tconst fileInfo = metadataInfo.files[basename(request.url)]\n\tif (fileInfo === undefined) {\n\t\tlogger.debug('Could not find metadata info', { path, metadataInfo })\n\t\tthrow new Error('Could not find file in metadata')\n\t}\n\n\tlogger.debug('Fetching encrypted file', { request })\n\treturn await decryptFile(await originalFetch(request), fileInfo)\n}\n\nasync function handlePropFind(request: Request) {\n\tlogger.debug('Fetching raw PROPFIND', { request })\n\tconst response = await originalFetch(request)\n\tconst path = new URL(request.url).pathname\n\tconst body = await response.text()\n\tconst xml = await parseXML(body)\n\tconst stat = parseStat(xml, path, true)\n\n\tlet metadataPath = path\n\n\tif (stat.type === 'directory') {\n\t\tif (stat.props?.['is-encrypted'] !== 1) {\n\t\t\tlogger.debug('Folder is not e2ee', { xml })\n\t\t\treturn new Response(body, response)\n\t\t}\n\n\t\t// Update cache for this path\n\t\tmetadataCache[path] = await getMetadata(stat.props?.fileid as string)\n\n\t\tconst rootMetadata = await getRootMetadataForPath(metadataPath)\n\n\t\tif (rootMetadata === undefined) {\n\t\t\tlogger.debug('Cannot find root E2EE folder', { path })\n\t\t\treturn new Response(body, response)\n\t\t}\n\n\t\tconst metadataInfo = await getMetadataInfoForPath(metadataPath, rootMetadata)\n\n\t\tlet parentMetadataInfo: MetadataInfo|undefined\n\t\ttry {\n\t\t\tparentMetadataInfo = await getMetadataInfoForPath(dirname(metadataPath), rootMetadata)\n\t\t} catch (e) {}\n\n\t\treplacePlaceholdersInPropfind(xml, path, metadataInfo, parentMetadataInfo)\n\t}\n\n\tif (stat.type === 'file') {\n\t\tmetadataPath = dirname(path)\n\n\t\tconst rootMetadata = await getRootMetadataForPath(metadataPath)\n\n\t\tif (rootMetadata === undefined) {\n\t\t\tlogger.debug('Cannot find root E2EE folder', { path })\n\t\t\treturn new Response(body, response)\n\t\t}\n\n\t\treplacePlaceholdersInPropfind(xml, path, undefined, await getMetadataInfoForPath(metadataPath, rootMetadata))\n\t}\n\n\treturn new Response(new XMLBuilder().build(xml), response)\n}\n\nexport function replacePlaceholdersInPropfind(xml: DAVResult, folderPath: string, metadataInfo?: MetadataInfo, parentMetadataInfo?: MetadataInfo): void {\n\tlogger.debug('Updating PROPFIND info', { folderPath, metadataInfo, parentMetadataInfo, xml })\n\n\txml.multistatus.response.forEach((childNode) => {\n\t\tif (childNode.propstat === undefined) {\n\t\t\treturn\n\t\t}\n\n\t\tlet relevantMetadataInfo = metadataInfo\n\t\tif (childNode.href === folderPath && parentMetadataInfo) {\n\t\t\trelevantMetadataInfo = parentMetadataInfo\n\t\t}\n\t\tif (relevantMetadataInfo === undefined) {\n\t\t\treturn\n\t\t}\n\n\t\tconst identifier = childNode.propstat.prop.displayname\n\t\tlet name: string|undefined\n\n\t\tif (relevantMetadataInfo.files[identifier]) {\n\t\t\tname = relevantMetadataInfo.files[identifier].filename\n\t\t\tchildNode.propstat.prop.getcontenttype = relevantMetadataInfo.files[identifier].mimetype\n\t\t} else if (relevantMetadataInfo.folders[identifier]) {\n\t\t\tname = relevantMetadataInfo.folders[identifier]\n\t\t\tchildNode.propstat.prop.getcontenttype = 'httpd/unix-directory'\n\t\t} else {\n\t\t\treturn\n\t\t}\n\n\t\tchildNode.propstat.prop.displayname = name\n\t})\n}\n\nexport async function decryptFile(response: Response, fileEncryptionInfo: FileEncryptionInfo): Promise {\n\tconst decryptedFileContent = await decryptWithAES(\n\t\tnew Uint8Array(await response.arrayBuffer()),\n\t\tawait loadAESPrivateKey(base64ToBuffer(fileEncryptionInfo.key)),\n\t\t{ iv: base64ToBuffer(fileEncryptionInfo.nonce) },\n\t)\n\n\treturn new Response(decryptedFileContent, response)\n}\n\nasync function getMetadataInfoForPath(path: string, rootMetadata: Metadata): Promise {\n\tlogger.debug('Getting metadata info', { path })\n\n\tconst currentUser = getCurrentUser()\n\tif (!currentUser) {\n\t\tthrow new Error('No user logged in')\n\t}\n\n\tif (privateKey === undefined) {\n\t\tprivateKey = await decryptPrivateKey(await getPrivateKey(), await promptUserForMnemonic())\n\t}\n\n\treturn await decryptMetadataInfo(\n\t\tawait getMetadataForPath(path),\n\t\tawait getMetadataPrivateKey(rootMetadata, currentUser.uid, privateKey),\n\t)\n}\n\nasync function getFileIdForPath(path: string): Promise {\n\tlogger.debug('Getting file id', { path })\n\n\tconst response = (await davClient.stat(decodeURI(path).replace('remote.php/dav/', ''), { details: true, data: getDefaultPropfind() })) as ResponseDataDetailed\n\tconst node = resultToNode(response.data) as Node\n\n\tif (!node.fileid) {\n\t\tthrow new Error('File ID not found')\n\t}\n\n\treturn String(node.fileid)\n}\n\nasync function getMetadataForPath(path: string): Promise {\n\tlogger.debug('Getting metadata', { path, metadataCache })\n\n\tif (metadataCache[path]) {\n\t\treturn metadataCache[path]\n\t}\n\n\tmetadataCache[path] = await getMetadata(await getFileIdForPath(path))\n\n\treturn metadataCache[path]\n}\n\nasync function getRootMetadataForPath(path: string): Promise {\n\tlogger.debug('Getting root metadata', { path, metadataCache })\n\n\tconst metadataEntry = Object.entries(metadataCache)\n\t\t.filter(([, metadata]) => metadata.users !== undefined)\n\t\t.find(([rootPath]) => path.startsWith(rootPath))\n\n\tif (metadataEntry) {\n\t\treturn metadataEntry[1]\n\t}\n\n\twhile (path !== '/') {\n\t\tmetadataCache[path] ??= await getMetadata(await getFileIdForPath(path))\n\n\t\tif (metadataCache[path].users !== undefined) {\n\t\t\treturn metadataCache[path]\n\t\t}\n\n\t\tpath = dirname(path)\n\t}\n\n\treturn undefined\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { setupWebDavDecryptionProxy } from './services/webDavProxy.ts'\n\nsetupWebDavDecryptionProxy()\n"],"names":["t","e","o","n","i","r","s","a","u","c","l","global","d","m","g","y","v","h","b","w","p","f","x","N","P","A","O","E","T","j","S","$","C","I","k","process","en","F","oe","ne","re","Xt","ie","R","L","_","M","U","D","B","W","V","z","G","q","H","X","Z","Y","K","et","J","Q","tt","nt","rt","ot","it","st","at","ut","ct","lt","ht","pt","ft","dt","gt","mt","yt","vt","__privateAdd","_Z_instances","__publicField","#t","#e","#n","#r","#o","#i","#s","_a","#u","#c","#l","__privateSet","__privateGet","_b","_c","#p","__privateMethod","#h","#f","#d","_Z_static","_Z","bt","Gt","wt","xt","Nt","Pt","At","Ot","Et","Tt","jt","St","$t","Ct","It","kt","Rt","Ut","Lt","Ft","_t","Mt","Dt","define_process_env_default","Bt","Wt","Vt","zt","qt","Ht","Zt","Yt","Kt","Jt","Qt","te","ee","se","ae","ue","ce","le","fe","me","de","ge","pe","ye","__spreadProps","__spreadValues","he","ve","be","we","xe","Ne","Pe","Ae","Oe","Ee","Te","je","Ie","Se","$e","Ce","ke","Re","Le","_e","Me","Ue","Fe","De","Be","We","Ve","ze","Ge","qe","He","Xe","Ze","Je","Ye","Ke","Qe","tn","an","un","cn","ln","nameStartChar","nameChar","nameRegexp","regexName","getAllMatches","string","regex","matches","match","allmatches","len","index","isName","exports","obj","target","arrayMode","keys","util","require$$0","defaultOptions","validator","xmlData","options","tags","tagFound","reachedRoot","readPI","tagStartPos","readCommentAndCDATA","closingTag","tagName","validateTagName","msg","getErrorObject","getLineNumberForPosition","result","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","otg","openPos","afterAmp","validateAmpersand","isWhiteSpace","char","start","tagname","angleBracketsCount","doubleQuote","singleQuote","startChar","tagClosed","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","validateNumberAmpersand","count","code","message","lineNumber","lines","val","jPath","attrs","buildOptions","OptionsBuilder","XmlNode","key","node","xmlNode","readDocType","entities","hasBody","comment","exp","isEntity","readEntityExp","validateEntityName","isElement","isAttlist","isNotation","isComment","entityName","name","DocTypeReader","hexRegex","numRegex","consider","toNumber","str","trimmedStr","sign","leadingZeros","numTrimmedByZeros","trimZeros","eNotation","num","numStr","strnum","getIgnoreAttributesFn","ignoreAttributes","pattern","require$$1","require$$2","require$$3","require$$4","OrderedObjParser$1","addExternalEntities","parseXml","parseTextData","resolveNameSpace","buildAttributesMap","isItStopNode","replaceEntitiesValue","readStopNodeData","saveTextToParentTag","addChild","externalEntities","entKeys","ent","dontTrim","hasAttributes","isLeafNode","escapeEntities","newval","parseValue","prefix","attrsRegx","oldVal","aName","newVal","attrCollection","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","lastTagName","propIndex","tagData","readTagExp","childNode","endIndex","tagExp","rawTagName","attrExpPresent","lastTag","tagContent","entity","stopNodes","currentTagName","allNodesExp","stopNodePath","stopNodeExp","tagExpWithClosingIndex","closingChar","attrBoundary","ch","errMsg","closingIndex","removeNSPrefix","separatorIndex","startIndex","openTagCount","shouldParse","OrderedObjParser_1","OrderedObjParser","prettify","compress","arr","text","compressedObj","tagObj","property","propName","newJpath","isLeaf","isLeafTag","assignAttributes","attrMap","jpath","atrrName","textNodeName","propCount","node2json","XMLParser$1","validationOption","orderedObjParser","orderedResult","value","XMLParser_1","XMLParser","EOL","toXml","jArray","indentation","arrToStr","xmlStr","isPreviousElementTag","newJPath","tagText","isStopNode","attStr","attr_to_str","tempInd","piTextNodeName","newIdentation","tagStart","tagValue","attr","attrVal","textValue","orderedJs2Xml","buildFromOrderedJs","Builder","isAttribute","processTextOrObjNode","indentate","jObj","level","ajPath","arrLen","listTagVal","listTagAttr","item","Ks","object","tagEndExp","piClosingChar","closeTag","json2xml","XMLBuilder","fxp","encodePath","path","_defineProperty","_classPrivateFieldInitSpec","privateMap","_checkPrivateRedeclaration","privateCollection","_classPrivateFieldGet","receiver","descriptor","_classExtractFieldDescriptor","_classApplyDescriptorGet","_classPrivateFieldSet","_classApplyDescriptorSet","action","toStringTag","_internals","_promise","CancelablePromiseInternal","_ref","executor","internals","defaultInternals","promise","resolve","reject","onCancel","onfulfilled","onrejected","makeCancelable","createCallback","onfinally","runWhenCanceled","callback","callbacks","err","CancelablePromise","iterable","makeAllCancelable","cancelable","reason","isCancelablePromise","onResult","arg","resolvable","isPublicShare","loadState","getSharingToken","logger","getLoggerBuilder","Permission","Permission2","FileType","FileType2","isDavResource","source","davService","validateData","data","service","join","NodeStatus","NodeStatus2","Node","prop","origin","basename","displayname","extname","firstMatch","root","dirname","url","mtime","size","permissions","status","destination","oldBasename","basename2","attributes","File","Folder","parsePermissions","permString","defaultDavProperties","defaultDavNamespaces","getDavProperties","getDavNameSpaces","ns","getDefaultPropfind","getRootPath","getCurrentUser","defaultRootPath","getRemoteURL","generateRemoteUrl","defaultRemoteURL","getClient","remoteURL","headers","client","createClient","setHeaders","token","onRequestTokenUpdate","getRequestToken","getPatcher","headers2","resultToNode","filesRoot","userId","props","owner","id","crtime","nodeData","util$3","a2","i2","debug$1","args","debug_1","SEMVER_SPEC_VERSION","MAX_LENGTH$1","MAX_SAFE_INTEGER$1","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","constants","re$1","module","MAX_SAFE_COMPONENT_LENGTH2","MAX_SAFE_BUILD_LENGTH2","MAX_LENGTH2","debug2","re2","safeRe","src","t3","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","max","createToken","isGlobal","safe","getLogger","user","bufferToString","buffer","stringToBuffer","base64ToBuffer","base64Str","API_ROOT","Url","getPrivateKey","encryptedPrivateKeyInfo","axios","generateOcsUrl","encryptedPrivateKey","iv","salt","getMetadata","fileId","response","decryptWithAES","content","decryptWithRSA","loadAESPrivateKey","loadRSAPrivateKey","decryptMetadataInfo","metadata","metadataPrivateKey","encryptedMetadata","compressedMetadataInfo","unzipBuffer","decompressedStream","controller","getMetadataPrivateKey","privateKey","userInfo","encryptedMetadataPrivateKey","rawMetadataPrivateKey","PEM_HEADER","PEM_FOOTER","decryptPrivateKey","privateKeyInfo","mnemonic","mnemonicPrivateKey","mnemonicToPrivateKey","rawPrivateKey","loadPemKey","keyMaterial","pem","pemContents","_sfc_main","_sfc_render","_vm","$event","_sfc_staticRenderFns","__component__","normalizeComponent","AlertCircle","Check","NcButton","useModelMigration","GenRandomId","isValidLabel","ariaDescribedby","event","newValue","NcInputField","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Undo","register","t17","t48","NcInputFieldProps","Close","ArrowRight","predefinedLabels","NcTextField","ref","submit","emit","buttons","computed","promptUserForMnemonic","promiseWithResolvers","spawnDialog","MnemonicPromptDialog","originalFetch","davClient","metadataCache","setupWebDavDecryptionProxy","input","config","request","handlePropFind","handleGet","rootMetadata","getRootMetadataForPath","metadataInfo","getMetadataInfoForPath","fileInfo","decryptFile","body","xml","parseXML","stat","parseStat","metadataPath","parentMetadataInfo","replacePlaceholdersInPropfind","folderPath","relevantMetadataInfo","identifier","fileEncryptionInfo","decryptedFileContent","currentUser","getMetadataForPath","getFileIdForPath","metadataEntry","rootPath"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,25,26,27,28]} \ No newline at end of file +{"version":3,"file":"end_to_end_encryption-files.mjs","sources":["../node_modules/webdav/dist/web/index.js","../node_modules/fast-xml-parser/src/util.js","../node_modules/fast-xml-parser/src/validator.js","../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","../node_modules/strnum/strnum.js","../node_modules/fast-xml-parser/src/ignoreAttributes.js","../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","../node_modules/fast-xml-parser/src/xmlparser/node2json.js","../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","../node_modules/fast-xml-parser/src/fxp.js","../node_modules/@nextcloud/paths/dist/index.mjs","../node_modules/cancelable-promise/esm/CancelablePromise.mjs","../node_modules/@nextcloud/sharing/dist/public.mjs","../node_modules/@nextcloud/files/dist/chunks/dav-Co9y-hkg.mjs","../node_modules/@nextcloud/files/dist/index.mjs","../src/services/logger.ts","../src/services/utils.ts","../src/services/api.ts","../src/services/crypto.ts","../src/services/metadataUtils.ts","../src/services/privateKeyUtils.ts","../node_modules/@nextcloud/vue/dist/chunks/AlertCircleOutline-DBxbepLy.mjs","../node_modules/@nextcloud/vue/dist/chunks/Check-BkThHPH7.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-ixTTHy3h.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcTextField-8RXOuqAy.mjs","../src/components/MnemonicPromptDialog.vue","../src/services/mnemonicDialogs.ts","../src/services/webDavProxy.ts","../src/files.ts"],"sourcesContent":["/*! For license information please see index.js.LICENSE.txt */\nvar t={2:t=>{function e(t,e,o){t instanceof RegExp&&(t=n(t,o)),e instanceof RegExp&&(e=n(e,o));var i=r(t,e,o);return i&&{start:i[0],end:i[1],pre:o.slice(0,i[0]),body:o.slice(i[0]+t.length,i[1]),post:o.slice(i[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,o,i,s,a,u=n.indexOf(t),c=n.indexOf(e,u+1),l=u;if(u>=0&&c>0){for(r=[],i=n.length;l>=0&&!a;)l==u?(r.push(l),u=n.indexOf(t,l+1)):1==r.length?a=[r.pop(),c]:((o=r.pop())=0?u:c;r.length&&(a=[i,s])}return a}t.exports=e,e.range=r},101:function(t,e,n){var r;t=n.nmd(t),function(o){var i=(t&&t.exports,\"object\"==typeof global&&global);i.global!==i&&i.window;var s=function(t){this.message=t};(s.prototype=new Error).name=\"InvalidCharacterError\";var a=function(t){throw new s(t)},u=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=/[\\t\\n\\f\\r ]/g,l={encode:function(t){t=String(t),/[^\\0-\\xFF]/.test(t)&&a(\"The string to be encoded contains characters outside of the Latin1 range.\");for(var e,n,r,o,i=t.length%3,s=\"\",c=-1,l=t.length-i;++c>18&63)+u.charAt(o>>12&63)+u.charAt(o>>6&63)+u.charAt(63&o);return 2==i?(e=t.charCodeAt(c)<<8,n=t.charCodeAt(++c),s+=u.charAt((o=e+n)>>10)+u.charAt(o>>4&63)+u.charAt(o<<2&63)+\"=\"):1==i&&(o=t.charCodeAt(c),s+=u.charAt(o>>2)+u.charAt(o<<4&63)+\"==\"),s},decode:function(t){var e=(t=String(t).replace(c,\"\")).length;e%4==0&&(e=(t=t.replace(/==?$/,\"\")).length),(e%4==1||/[^+a-zA-Z0-9/]/.test(t))&&a(\"Invalid character: the string to be decoded is not correctly encoded.\");for(var n,r,o=0,i=\"\",s=-1;++s>(-2*o&6)));return i},version:\"1.0.0\"};void 0===(r=function(){return l}.call(e,n,e,t))||(t.exports=r)}()},172:(t,e)=>{e.d=function(t){if(!t)return 0;for(var e=(t=t.toString()).length,n=t.length;n--;){var r=t.charCodeAt(n);56320<=r&&r<=57343&&n--,127{var e={utf8:{stringToBytes:function(t){return e.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(e.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n{var e,n;e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n={rotl:function(t,e){return t<>>32-e},rotr:function(t,e){return t<<32-e|t>>>e},endian:function(t){if(t.constructor==Number)return 16711935&n.rotl(t,8)|4278255360&n.rotl(t,24);for(var e=0;e0;t--)e.push(Math.floor(256*Math.random()));return e},bytesToWords:function(t){for(var e=[],n=0,r=0;n>>5]|=t[n]<<24-r%32;return e},wordsToBytes:function(t){for(var e=[],n=0;n<32*t.length;n+=8)e.push(t[n>>>5]>>>24-n%32&255);return e},bytesToHex:function(t){for(var e=[],n=0;n>>4).toString(16)),e.push((15&t[n]).toString(16));return e.join(\"\")},hexToBytes:function(t){for(var e=[],n=0;n>>6*(3-i)&63)):n.push(\"=\");return n.join(\"\")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\\/]/gi,\"\");for(var n=[],r=0,o=0;r>>6-2*o);return n}},t.exports=n},635:(t,e,n)=>{const r=n(31),o=n(338),i=n(221);t.exports={XMLParser:o,XMLValidator:r,XMLBuilder:i}},705:(t,e)=>{const n=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",r=\"[\"+n+\"][\"+n+\"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*\",o=new RegExp(\"^\"+r+\"$\");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,n){if(e){const r=Object.keys(e),o=r.length;for(let i=0;i{const r=n(705),o={allowBooleanAttributes:!1,unpairedTags:[]};function i(t){return\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t}function s(t,e){const n=e;for(;e5&&\"xml\"===r)return d(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",m(t,e));if(\"?\"==t[e]&&\">\"==t[e+1]){e++;break}}return e}function a(t,e){if(t.length>e+5&&\"-\"===t[e+1]&&\"-\"===t[e+2]){for(e+=3;e\"===t[e+2]){e+=2;break}}else if(t.length>e+8&&\"D\"===t[e+1]&&\"O\"===t[e+2]&&\"C\"===t[e+3]&&\"T\"===t[e+4]&&\"Y\"===t[e+5]&&\"P\"===t[e+6]&&\"E\"===t[e+7]){let n=1;for(e+=8;e\"===t[e]&&(n--,0===n))break}else if(t.length>e+9&&\"[\"===t[e+1]&&\"C\"===t[e+2]&&\"D\"===t[e+3]&&\"A\"===t[e+4]&&\"T\"===t[e+5]&&\"A\"===t[e+6]&&\"[\"===t[e+7])for(e+=8;e\"===t[e+2]){e+=2;break}return e}e.validate=function(t,e){e=Object.assign({},o,e);const n=[];let u=!1,c=!1;\"\\ufeff\"===t[0]&&(t=t.substr(1));for(let o=0;o\"!==t[o]&&\" \"!==t[o]&&\"\\t\"!==t[o]&&\"\\n\"!==t[o]&&\"\\r\"!==t[o];o++)v+=t[o];if(v=v.trim(),\"/\"===v[v.length-1]&&(v=v.substring(0,v.length-1),o--),h=v,!r.isName(h)){let e;return e=0===v.trim().length?\"Invalid space after '<'.\":\"Tag '\"+v+\"' is an invalid name.\",d(\"InvalidTag\",e,m(t,o))}const b=l(t,o);if(!1===b)return d(\"InvalidAttr\",\"Attributes for '\"+v+\"' have open quote.\",m(t,o));let w=b.value;if(o=b.index,\"/\"===w[w.length-1]){const n=o-w.length;w=w.substring(0,w.length-1);const r=p(w,e);if(!0!==r)return d(r.err.code,r.err.msg,m(t,n+r.err.line));u=!0}else if(y){if(!b.tagClosed)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' doesn't have proper closing.\",m(t,o));if(w.trim().length>0)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' can't have attributes or invalid starting.\",m(t,g));if(0===n.length)return d(\"InvalidTag\",\"Closing tag '\"+v+\"' has not been opened.\",m(t,g));{const e=n.pop();if(v!==e.tagName){let n=m(t,e.tagStartPos);return d(\"InvalidTag\",\"Expected closing tag '\"+e.tagName+\"' (opened in line \"+n.line+\", col \"+n.col+\") instead of closing tag '\"+v+\"'.\",m(t,g))}0==n.length&&(c=!0)}}else{const r=p(w,e);if(!0!==r)return d(r.err.code,r.err.msg,m(t,o-w.length+r.err.line));if(!0===c)return d(\"InvalidXml\",\"Multiple possible root nodes found.\",m(t,o));-1!==e.unpairedTags.indexOf(v)||n.push({tagName:v,tagStartPos:g}),u=!0}for(o++;o0)||d(\"InvalidXml\",\"Invalid '\"+JSON.stringify(n.map((t=>t.tagName)),null,4).replace(/\\r?\\n/g,\"\")+\"' found.\",{line:1,col:1}):d(\"InvalidXml\",\"Start tag expected.\",1)};const u='\"',c=\"'\";function l(t,e){let n=\"\",r=\"\",o=!1;for(;e\"===t[e]&&\"\"===r){o=!0;break}n+=t[e]}return\"\"===r&&{value:n,index:e,tagClosed:o}}const h=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function p(t,e){const n=r.getAllMatches(t,h),o={};for(let t=0;t{const r=n(87),o={attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:\" \",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp(\"&\",\"g\"),val:\"&\"},{regex:new RegExp(\">\",\"g\"),val:\">\"},{regex:new RegExp(\"<\",\"g\"),val:\"<\"},{regex:new RegExp(\"'\",\"g\"),val:\"'\"},{regex:new RegExp('\"',\"g\"),val:\""\"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function i(t){this.options=Object.assign({},o,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=u),this.processTextOrObjNode=s,this.options.format?(this.indentate=a,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\")}function s(t,e,n){const r=this.j2x(t,n+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,n):this.buildObjectNode(r.val,e,r.attrStr,n)}function a(t){return this.options.indentBy.repeat(t)}function u(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}i.prototype.build=function(t){return this.options.preserveOrder?r(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},i.prototype.j2x=function(t,e){let n=\"\",r=\"\";for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))if(void 0===t[o])this.isAttribute(o)&&(r+=\"\");else if(null===t[o])this.isAttribute(o)?r+=\"\":\"?\"===o[0]?r+=this.indentate(e)+\"<\"+o+\"?\"+this.tagEndChar:r+=this.indentate(e)+\"<\"+o+\"/\"+this.tagEndChar;else if(t[o]instanceof Date)r+=this.buildTextValNode(t[o],o,\"\",e);else if(\"object\"!=typeof t[o]){const i=this.isAttribute(o);if(i)n+=this.buildAttrPairStr(i,\"\"+t[o]);else if(o===this.options.textNodeName){let e=this.options.tagValueProcessor(o,\"\"+t[o]);r+=this.replaceEntitiesValue(e)}else r+=this.buildTextValNode(t[o],o,\"\",e)}else if(Array.isArray(t[o])){const n=t[o].length;let i=\"\",s=\"\";for(let a=0;a\"+t+o}},i.prototype.closeTag=function(t){let e=\"\";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e=\"/\"):e=this.options.suppressEmptyNode?\"/\":`>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(r)+`\\x3c!--${t}--\\x3e`+this.newLine;if(\"?\"===e[0])return this.indentate(r)+\"<\"+e+n+\"?\"+this.tagEndChar;{let o=this.options.tagValueProcessor(e,t);return o=this.replaceEntitiesValue(o),\"\"===o?this.indentate(r)+\"<\"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+\"<\"+e+n+\">\"+o+\"0&&this.options.processEntities)for(let e=0;e{function e(t,s,a,u){let c=\"\",l=!1;for(let h=0;h`,l=!1;continue}if(f===s.commentPropName){c+=u+`\\x3c!--${p[f][0][s.textNodeName]}--\\x3e`,l=!0;continue}if(\"?\"===f[0]){const t=r(p[\":@\"],s),e=\"?xml\"===f?\"\":u;let n=p[f][0][s.textNodeName];n=0!==n.length?\" \"+n:\"\",c+=e+`<${f}${n}${t}?>`,l=!0;continue}let g=u;\"\"!==g&&(g+=s.indentBy);const m=u+`<${f}${r(p[\":@\"],s)}`,y=e(p[f],s,d,g);-1!==s.unpairedTags.indexOf(f)?s.suppressUnpairedNode?c+=m+\">\":c+=m+\"/>\":y&&0!==y.length||!s.suppressEmptyNode?y&&y.endsWith(\">\")?c+=m+`>${y}${u}`:(c+=m+\">\",y&&\"\"!==u&&(y.includes(\"/>\")||y.includes(\"`):c+=m+\"/>\",l=!0}return c}function n(t){const e=Object.keys(t);for(let n=0;n0&&e.processEntities)for(let n=0;n0&&(r=\"\\n\"),e(t,n,\"\",r)}},193:(t,e,n)=>{const r=n(705);function o(t,e){let n=\"\";for(;e\"===t[e]){if(p?\"-\"===t[e-1]&&\"-\"===t[e-2]&&(p=!1,r--):r--,0===r)break}else\"[\"===t[e]?h=!0:f+=t[e];else{if(h&&s(t,e))e+=7,[entityName,val,e]=o(t,e+1),-1===val.indexOf(\"&\")&&(n[l(entityName)]={regx:RegExp(`&${entityName};`,\"g\"),val});else if(h&&a(t,e))e+=8;else if(h&&u(t,e))e+=8;else if(h&&c(t,e))e+=9;else{if(!i)throw new Error(\"Invalid DOCTYPE\");p=!0}r++,f=\"\"}if(0!==r)throw new Error(\"Unclosed DOCTYPE\")}return{entities:n,i:e}}},63:(t,e)=>{const n={preserveOrder:!1,attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}};e.buildOptions=function(t){return Object.assign({},n,t)},e.defaultOptions=n},299:(t,e,n)=>{const r=n(705),o=n(365),i=n(193),s=n(494);function a(t){const e=Object.keys(t);for(let n=0;n0)){s||(t=this.replaceEntitiesValue(t));const r=this.options.tagValueProcessor(e,t,n,o,i);return null==r?t:typeof r!=typeof t||r!==t?r:this.options.trimValues||t.trim()===t?w(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function c(t){if(this.options.removeNSPrefix){const e=t.split(\":\"),n=\"/\"===t.charAt(0)?\"/\":\"\";if(\"xmlns\"===e[0])return\"\";2===e.length&&(t=n+e[1])}return t}const l=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])([\\\\s\\\\S]*?)\\\\3)?\",\"gm\");function h(t,e,n){if(!this.options.ignoreAttributes&&\"string\"==typeof t){const n=r.getAllMatches(t,l),o=n.length,i={};for(let t=0;t\",a,\"Closing Tag is not closed.\");let o=t.substring(a+2,e).trim();if(this.options.removeNSPrefix){const t=o.indexOf(\":\");-1!==t&&(o=o.substr(t+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(r=this.saveTextToParentTag(r,n,s));const i=s.substring(s.lastIndexOf(\".\")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: `);let u=0;i&&-1!==this.options.unpairedTags.indexOf(i)?(u=s.lastIndexOf(\".\",s.lastIndexOf(\".\")-1),this.tagsNodeStack.pop()):u=s.lastIndexOf(\".\"),s=s.substring(0,u),n=this.tagsNodeStack.pop(),r=\"\",a=e}else if(\"?\"===t[a+1]){let e=v(t,a,!1,\"?>\");if(!e)throw new Error(\"Pi Tag is not closed.\");if(r=this.saveTextToParentTag(r,n,s),this.options.ignoreDeclaration&&\"?xml\"===e.tagName||this.options.ignorePiTags);else{const t=new o(e.tagName);t.add(this.options.textNodeName,\"\"),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[\":@\"]=this.buildAttributesMap(e.tagExp,s,e.tagName)),this.addChild(n,t,s)}a=e.closeIndex+1}else if(\"!--\"===t.substr(a+1,3)){const e=y(t,\"--\\x3e\",a+4,\"Comment is not closed.\");if(this.options.commentPropName){const o=t.substring(a+4,e-2);r=this.saveTextToParentTag(r,n,s),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}a=e}else if(\"!D\"===t.substr(a+1,2)){const e=i(t,a);this.docTypeEntities=e.entities,a=e.i}else if(\"![\"===t.substr(a+1,2)){const e=y(t,\"]]>\",a,\"CDATA is not closed.\")-2,o=t.substring(a+9,e);r=this.saveTextToParentTag(r,n,s);let i=this.parseTextData(o,n.tagname,s,!0,!1,!0,!0);null==i&&(i=\"\"),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):n.add(this.options.textNodeName,i),a=e+2}else{let i=v(t,a,this.options.removeNSPrefix),u=i.tagName;const c=i.rawTagName;let l=i.tagExp,h=i.attrExpPresent,p=i.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&r&&\"!xml\"!==n.tagname&&(r=this.saveTextToParentTag(r,n,s,!1));const f=n;if(f&&-1!==this.options.unpairedTags.indexOf(f.tagname)&&(n=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf(\".\"))),u!==e.tagname&&(s+=s?\".\"+u:u),this.isItStopNode(this.options.stopNodes,s,u)){let e=\"\";if(l.length>0&&l.lastIndexOf(\"/\")===l.length-1)\"/\"===u[u.length-1]?(u=u.substr(0,u.length-1),s=s.substr(0,s.length-1),l=u):l=l.substr(0,l.length-1),a=i.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))a=i.closeIndex;else{const n=this.readStopNodeData(t,c,p+1);if(!n)throw new Error(`Unexpected end of ${c}`);a=n.i,e=n.tagContent}const r=new o(u);u!==l&&h&&(r[\":@\"]=this.buildAttributesMap(l,s,u)),e&&(e=this.parseTextData(e,u,s,!0,h,!0,!0)),s=s.substr(0,s.lastIndexOf(\".\")),r.add(this.options.textNodeName,e),this.addChild(n,r,s)}else{if(l.length>0&&l.lastIndexOf(\"/\")===l.length-1){\"/\"===u[u.length-1]?(u=u.substr(0,u.length-1),s=s.substr(0,s.length-1),l=u):l=l.substr(0,l.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));const t=new o(u);u!==l&&h&&(t[\":@\"]=this.buildAttributesMap(l,s,u)),this.addChild(n,t,s),s=s.substr(0,s.lastIndexOf(\".\"))}else{const t=new o(u);this.tagsNodeStack.push(n),u!==l&&h&&(t[\":@\"]=this.buildAttributesMap(l,s,u)),this.addChild(n,t,s),n=t}r=\"\",a=p}}else r+=t[a];return e.child};function f(t,e,n){const r=this.options.updateTag(e.tagname,n,e[\":@\"]);!1===r||(\"string\"==typeof r?(e.tagname=r,t.addChild(e)):t.addChild(e))}const d=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function g(t,e,n,r){return t&&(void 0===r&&(r=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,n,!1,!!e[\":@\"]&&0!==Object.keys(e[\":@\"]).length,r))&&\"\"!==t&&e.add(this.options.textNodeName,t),t=\"\"),t}function m(t,e,n){const r=\"*.\"+n;for(const n in t){const o=t[n];if(r===o||e===o)return!0}return!1}function y(t,e,n,r){const o=t.indexOf(e,n);if(-1===o)throw new Error(r);return o+e.length-1}function v(t,e,n){const r=function(t,e){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\">\",o=\"\";for(let i=e;i3&&void 0!==arguments[3]?arguments[3]:\">\");if(!r)return;let o=r.data;const i=r.index,s=o.search(/\\s/);let a=o,u=!0;-1!==s&&(a=o.substring(0,s),o=o.substring(s+1).trimStart());const c=a;if(n){const t=a.indexOf(\":\");-1!==t&&(a=a.substr(t+1),u=a!==r.data.substr(t+1))}return{tagName:a,tagExp:o,closeIndex:i,attrExpPresent:u,rawTagName:c}}function b(t,e,n){const r=n;let o=1;for(;n\",n,`${e} is not closed`);if(t.substring(n+2,i).trim()===e&&(o--,0===o))return{tagContent:t.substring(r,n),i};n=i}else if(\"?\"===t[n+1])n=y(t,\"?>\",n+1,\"StopNode is not closed.\");else if(\"!--\"===t.substr(n+1,3))n=y(t,\"--\\x3e\",n+3,\"StopNode is not closed.\");else if(\"![\"===t.substr(n+1,2))n=y(t,\"]]>\",n,\"StopNode is not closed.\")-2;else{const r=v(t,n,\">\");r&&((r&&r.tagName)===e&&\"/\"!==r.tagExp[r.tagExp.length-1]&&o++,n=r.closeIndex)}}function w(t,e,n){if(e&&\"string\"==typeof t){const e=t.trim();return\"true\"===e||\"false\"!==e&&s(t,n)}return r.isExist(t)?t:\"\"}t.exports=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:\"'\"},gt:{regex:/&(gt|#62|#x3E);/g,val:\">\"},lt:{regex:/&(lt|#60|#x3C);/g,val:\"<\"},quot:{regex:/&(quot|#34|#x22);/g,val:'\"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:\"&\"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:\" \"},cent:{regex:/&(cent|#162);/g,val:\"¢\"},pound:{regex:/&(pound|#163);/g,val:\"£\"},yen:{regex:/&(yen|#165);/g,val:\"¥\"},euro:{regex:/&(euro|#8364);/g,val:\"€\"},copyright:{regex:/&(copy|#169);/g,val:\"©\"},reg:{regex:/&(reg|#174);/g,val:\"®\"},inr:{regex:/&(inr|#8377);/g,val:\"₹\"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,16))}},this.addExternalEntities=a,this.parseXml=p,this.parseTextData=u,this.resolveNameSpace=c,this.buildAttributesMap=h,this.isItStopNode=m,this.replaceEntitiesValue=d,this.readStopNodeData=b,this.saveTextToParentTag=g,this.addChild=f}}},338:(t,e,n)=>{const{buildOptions:r}=n(63),o=n(299),{prettify:i}=n(728),s=n(31);t.exports=class{constructor(t){this.externalEntities={},this.options=r(t)}parse(t,e){if(\"string\"==typeof t);else{if(!t.toString)throw new Error(\"XML data is accepted in String or Bytes[] form.\");t=t.toString()}if(e){!0===e&&(e={});const n=s.validate(t,e);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new o(this.options);n.addExternalEntities(this.externalEntities);const r=n.parseXml(t);return this.options.preserveOrder||void 0===r?r:i(r,this.options)}addEntity(t,e){if(-1!==e.indexOf(\"&\"))throw new Error(\"Entity value can't have '&'\");if(-1!==t.indexOf(\"&\")||-1!==t.indexOf(\";\"))throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");if(\"&\"===e)throw new Error(\"An entity with value '&' is not permitted\");this.externalEntities[t]=e}}},728:(t,e)=>{function n(t,e,s){let a;const u={};for(let c=0;c0&&(u[e.textNodeName]=a):void 0!==a&&(u[e.textNodeName]=a),u}function r(t){const e=Object.keys(t);for(let t=0;t{t.exports=class{constructor(t){this.tagname=t,this.child=[],this[\":@\"]={}}add(t,e){\"__proto__\"===t&&(t=\"#__proto__\"),this.child.push({[t]:e})}addChild(t){\"__proto__\"===t.tagname&&(t.tagname=\"#__proto__\"),t[\":@\"]&&Object.keys(t[\":@\"]).length>0?this.child.push({[t.tagname]:t.child,\":@\":t[\":@\"]}):this.child.push({[t.tagname]:t.child})}}},135:t=>{function e(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}t.exports=function(t){return null!=t&&(e(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&e(t.slice(0,0))}(t)||!!t._isBuffer)}},542:(t,e,n)=>{!function(){var e=n(298),r=n(526).utf8,o=n(135),i=n(526).bin,s=function(t,n){t.constructor==String?t=n&&\"binary\"===n.encoding?i.stringToBytes(t):r.stringToBytes(t):o(t)?t=Array.prototype.slice.call(t,0):Array.isArray(t)||t.constructor===Uint8Array||(t=t.toString());for(var a=e.bytesToWords(t),u=8*t.length,c=1732584193,l=-271733879,h=-1732584194,p=271733878,f=0;f>>24)|4278255360&(a[f]<<24|a[f]>>>8);a[u>>>5]|=128<>>9<<4)]=u;var d=s._ff,g=s._gg,m=s._hh,y=s._ii;for(f=0;f>>0,l=l+b>>>0,h=h+w>>>0,p=p+x>>>0}return e.endian([c,l,h,p])};s._ff=function(t,e,n,r,o,i,s){var a=t+(e&n|~e&r)+(o>>>0)+s;return(a<>>32-i)+e},s._gg=function(t,e,n,r,o,i,s){var a=t+(e&r|n&~r)+(o>>>0)+s;return(a<>>32-i)+e},s._hh=function(t,e,n,r,o,i,s){var a=t+(e^n^r)+(o>>>0)+s;return(a<>>32-i)+e},s._ii=function(t,e,n,r,o,i,s){var a=t+(n^(e|~r))+(o>>>0)+s;return(a<>>32-i)+e},s._blocksize=16,s._digestsize=16,t.exports=function(t,n){if(null==t)throw new Error(\"Illegal argument \"+t);var r=e.wordsToBytes(s(t,n));return n&&n.asBytes?r:n&&n.asString?i.bytesToString(r):e.bytesToHex(r)}}()},285:(t,e,n)=>{var r=n(2);t.exports=function(t){return t?(\"{}\"===t.substr(0,2)&&(t=\"\\\\{\\\\}\"+t.substr(2)),m(function(t){return t.split(\"\\\\\\\\\").join(o).split(\"\\\\{\").join(i).split(\"\\\\}\").join(s).split(\"\\\\,\").join(a).split(\"\\\\.\").join(u)}(t),!0).map(l)):[]};var o=\"\\0SLASH\"+Math.random()+\"\\0\",i=\"\\0OPEN\"+Math.random()+\"\\0\",s=\"\\0CLOSE\"+Math.random()+\"\\0\",a=\"\\0COMMA\"+Math.random()+\"\\0\",u=\"\\0PERIOD\"+Math.random()+\"\\0\";function c(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function l(t){return t.split(o).join(\"\\\\\").split(i).join(\"{\").split(s).join(\"}\").split(a).join(\",\").split(u).join(\".\")}function h(t){if(!t)return[\"\"];var e=[],n=r(\"{\",\"}\",t);if(!n)return t.split(\",\");var o=n.pre,i=n.body,s=n.post,a=o.split(\",\");a[a.length-1]+=\"{\"+i+\"}\";var u=h(s);return s.length&&(a[a.length-1]+=u.shift(),a.push.apply(a,u)),e.push.apply(e,a),e}function p(t){return\"{\"+t+\"}\"}function f(t){return/^-?0\\d/.test(t)}function d(t,e){return t<=e}function g(t,e){return t>=e}function m(t,e){var n=[],o=r(\"{\",\"}\",t);if(!o)return[t];var i=o.pre,a=o.post.length?m(o.post,!1):[\"\"];if(/\\$$/.test(o.pre))for(var u=0;u=0;if(!x&&!N)return o.post.match(/,.*\\}/)?m(t=o.pre+\"{\"+o.body+s+o.post):[t];if(x)y=o.body.split(/\\.\\./);else if(1===(y=h(o.body)).length&&1===(y=m(y[0],!1).map(p)).length)return a.map((function(t){return o.pre+y[0]+t}));if(x){var P=c(y[0]),A=c(y[1]),O=Math.max(y[0].length,y[1].length),E=3==y.length?Math.abs(c(y[2])):1,T=d;A0){var I=new Array(C+1).join(\"0\");$=S<0?\"-\"+I+$.slice(1):I+$}}v.push($)}}else{v=[];for(var k=0;k{function e(t){return e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},e(t)}function n(t){var e=\"function\"==typeof Map?new Map:void 0;return n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf(\"[native code]\")))return t;var n;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,s)}function s(){return r(t,arguments,i(this).constructor)}return s.prototype=Object.create(t.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),o(s,t)},n(t)}function r(t,e,n){return r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&o(i,n.prototype),i},r.apply(null,arguments)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}var s=function(t){function n(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,n),(r=function(t,n){return!n||\"object\"!==e(n)&&\"function\"!=typeof n?function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t):n}(this,i(n).call(this,t))).name=\"ObjectPrototypeMutationError\",r}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(n,t),n}(n(Error));function a(t,n){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=n.split(\".\"),i=o.length,s=function(e){var n=o[e];if(!t)return{v:void 0};if(\"+\"===n){if(Array.isArray(t))return{v:t.map((function(n,i){var s=o.slice(e+1);return s.length>0?a(n,s.join(\".\"),r):r(t,i,o,e)}))};var i=o.slice(0,e).join(\".\");throw new Error(\"Object at wildcard (\".concat(i,\") is not an array\"))}t=r(t,n,o,e)},u=0;u2&&void 0!==arguments[2]?arguments[2]:{};if(\"object\"!=e(t)||null===t)return!1;if(void 0===n)return!1;if(\"number\"==typeof n)return n in t;try{var o=!1;return a(t,n,(function(t,e,n,i){if(!u(n,i))return t&&t[e];o=r.own?t.hasOwnProperty(e):e in t})),o}catch(t){return!1}},hasOwn:function(t,e,n){return this.has(t,e,n||{own:!0})},isIn:function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(\"object\"!=e(t)||null===t)return!1;if(void 0===n)return!1;try{var i=!1,s=!1;return a(t,n,(function(t,n,o,a){return i=i||t===r||!!t&&t[n]===r,s=u(o,a)&&\"object\"===e(t)&&n in t,t&&t[n]})),o.validPath?i&&s:i}catch(t){return!1}},ObjectPrototypeMutationError:s}},47:(t,e,n)=>{var r=n(410),o=function(t){return\"string\"==typeof t};function i(t,e){for(var n=[],r=0;r=-1&&!e;n--){var r=n>=0?arguments[n]:process.cwd();if(!o(r))throw new TypeError(\"Arguments to path.resolve must be strings\");r&&(t=r+\"/\"+t,e=\"/\"===r.charAt(0))}return(e?\"/\":\"\")+(t=i(t.split(\"/\"),!e).join(\"/\"))||\".\"},a.normalize=function(t){var e=a.isAbsolute(t),n=\"/\"===t.substr(-1);return(t=i(t.split(\"/\"),!e).join(\"/\"))||e||(t=\".\"),t&&n&&(t+=\"/\"),(e?\"/\":\"\")+t},a.isAbsolute=function(t){return\"/\"===t.charAt(0)},a.join=function(){for(var t=\"\",e=0;e=0&&\"\"===t[n];n--);return e>n?[]:t.slice(e,n+1)}t=a.resolve(t).substr(1),e=a.resolve(e).substr(1);for(var r=n(t.split(\"/\")),o=n(e.split(\"/\")),i=Math.min(r.length,o.length),s=i,u=0;u{var n=Object.prototype.hasOwnProperty;function r(t){try{return decodeURIComponent(t.replace(/\\+/g,\" \"))}catch(t){return null}}function o(t){try{return encodeURIComponent(t)}catch(t){return null}}e.stringify=function(t,e){e=e||\"\";var r,i,s=[];for(i in\"string\"!=typeof e&&(e=\"?\"),t)if(n.call(t,i)){if((r=t[i])||null!=r&&!isNaN(r)||(r=\"\"),i=o(i),r=o(r),null===i||null===r)continue;s.push(i+\"=\"+r)}return s.length?e+s.join(\"&\"):\"\"},e.parse=function(t){for(var e,n=/([^=?#&]+)=?([^&]*)/g,o={};e=n.exec(t);){var i=r(e[1]),s=r(e[2]);null===i||null===s||i in o||(o[i]=s)}return o}},670:t=>{t.exports=function(t,e){if(e=e.split(\":\")[0],!(t=+t))return!1;switch(e){case\"http\":case\"ws\":return 80!==t;case\"https\":case\"wss\":return 443!==t;case\"ftp\":return 21!==t;case\"gopher\":return 70!==t;case\"file\":return!1}return 0!==t}},494:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const r={hex:!0,leadingZeros:!0,decimalPoint:\".\",eNotation:!0};t.exports=function(t){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o=Object.assign({},r,o),!t||\"string\"!=typeof t)return t;let i=t.trim();if(void 0!==o.skipLike&&o.skipLike.test(i))return t;if(o.hex&&e.test(i))return Number.parseInt(i,16);{const e=n.exec(i);if(e){const n=e[1],r=e[2];let a=(s=e[3])&&-1!==s.indexOf(\".\")?(\".\"===(s=s.replace(/0+$/,\"\"))?s=\"0\":\".\"===s[0]?s=\"0\"+s:\".\"===s[s.length-1]&&(s=s.substr(0,s.length-1)),s):s;const u=e[4]||e[6];if(!o.leadingZeros&&r.length>0&&n&&\".\"!==i[2])return t;if(!o.leadingZeros&&r.length>0&&!n&&\".\"!==i[1])return t;{const e=Number(i),s=\"\"+e;return-1!==s.search(/[eE]/)||u?o.eNotation?e:t:-1!==i.indexOf(\".\")?\"0\"===s&&\"\"===a||s===a||n&&s===\"-\"+a?e:t:r?a===s||n+a===s?e:t:i===s||i===n+s?e:t}}return t}var s}},737:(t,e,n)=>{var r=n(670),o=n(647),i=/^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/,s=/[\\n\\r\\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//,u=/:\\d+$/,c=/^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i,l=/^[a-zA-Z]:/;function h(t){return(t||\"\").toString().replace(i,\"\")}var p=[[\"#\",\"hash\"],[\"?\",\"query\"],function(t,e){return g(e.protocol)?t.replace(/\\\\/g,\"/\"):t},[\"/\",\"pathname\"],[\"@\",\"auth\",1],[NaN,\"host\",void 0,1,1],[/:(\\d*)$/,\"port\",void 0,1],[NaN,\"hostname\",void 0,1,1]],f={hash:1,query:1};function d(t){var e,n=(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).location||{},r={},o=typeof(t=t||n);if(\"blob:\"===t.protocol)r=new y(unescape(t.pathname),{});else if(\"string\"===o)for(e in r=new y(t,{}),f)delete r[e];else if(\"object\"===o){for(e in t)e in f||(r[e]=t[e]);void 0===r.slashes&&(r.slashes=a.test(t.href))}return r}function g(t){return\"file:\"===t||\"ftp:\"===t||\"http:\"===t||\"https:\"===t||\"ws:\"===t||\"wss:\"===t}function m(t,e){t=(t=h(t)).replace(s,\"\"),e=e||{};var n,r=c.exec(t),o=r[1]?r[1].toLowerCase():\"\",i=!!r[2],a=!!r[3],u=0;return i?a?(n=r[2]+r[3]+r[4],u=r[2].length+r[3].length):(n=r[2]+r[4],u=r[2].length):a?(n=r[3]+r[4],u=r[3].length):n=r[4],\"file:\"===o?u>=2&&(n=n.slice(2)):g(o)?n=r[4]:o?i&&(n=n.slice(2)):u>=2&&g(e.protocol)&&(n=r[4]),{protocol:o,slashes:i||g(o),slashesCount:u,rest:n}}function y(t,e,n){if(t=(t=h(t)).replace(s,\"\"),!(this instanceof y))return new y(t,e,n);var i,a,u,c,f,v,b=p.slice(),w=typeof e,x=this,N=0;for(\"object\"!==w&&\"string\"!==w&&(n=e,e=null),n&&\"function\"!=typeof n&&(n=o.parse),i=!(a=m(t||\"\",e=d(e))).protocol&&!a.slashes,x.slashes=a.slashes||i&&e.slashes,x.protocol=a.protocol||e.protocol||\"\",t=a.rest,(\"file:\"===a.protocol&&(2!==a.slashesCount||l.test(t))||!a.slashes&&(a.protocol||a.slashesCount<2||!g(x.protocol)))&&(b[3]=[/(.*)/,\"pathname\"]);N{},388:()=>{},805:()=>{},345:()=>{},800:()=>{}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={id:r,loaded:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var r={};n.d(r,{hT:()=>C,O4:()=>I,Kd:()=>S,YK:()=>$,UU:()=>en,Gu:()=>F,ky:()=>oe,h4:()=>ne,ch:()=>re,hq:()=>Xt,i5:()=>ie});var o=n(737),i=n.n(o);function s(t){if(!a(t))throw new Error(\"Parameter was not an error\")}function a(t){return!!t&&\"object\"==typeof t&&\"[object Error]\"===(e=t,Object.prototype.toString.call(e))||t instanceof Error;var e}class u extends Error{constructor(t,e){const n=[...arguments],{options:r,shortMessage:o}=function(t){let e,n=\"\";if(0===t.length)e={};else if(a(t[0]))e={cause:t[0]},n=t.slice(1).join(\" \")||\"\";else if(t[0]&&\"object\"==typeof t[0])e=Object.assign({},t[0]),n=t.slice(1).join(\" \")||\"\";else{if(\"string\"!=typeof t[0])throw new Error(\"Invalid arguments passed to Layerr\");e={},n=n=t.join(\" \")||\"\"}return{options:e,shortMessage:n}}(n);let i=o;if(r.cause&&(i=`${i}: ${r.cause.message}`),super(i),this.message=i,r.name&&\"string\"==typeof r.name?this.name=r.name:this.name=\"Layerr\",r.cause&&Object.defineProperty(this,\"_cause\",{value:r.cause}),Object.defineProperty(this,\"_info\",{value:{}}),r.info&&\"object\"==typeof r.info&&Object.assign(this._info,r.info),Error.captureStackTrace){const t=r.constructorOpt||this.constructor;Error.captureStackTrace(this,t)}}static cause(t){return s(t),t._cause&&a(t._cause)?t._cause:null}static fullStack(t){s(t);const e=u.cause(t);return e?`${t.stack}\\ncaused by: ${u.fullStack(e)}`:t.stack??\"\"}static info(t){s(t);const e={},n=u.cause(t);return n&&Object.assign(e,u.info(n)),t._info&&Object.assign(e,t._info),e}toString(){let t=this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(t=`${t}: ${this.message}`),t}}var c=n(47),l=n.n(c);const h=\"__PATH_SEPARATOR_POSIX__\",p=\"__PATH_SEPARATOR_WINDOWS__\";function f(t){try{const e=t.replace(/\\//g,h).replace(/\\\\\\\\/g,p);return encodeURIComponent(e).split(p).join(\"\\\\\\\\\").split(h).join(\"/\")}catch(t){throw new u(t,\"Failed encoding path\")}}function d(t){return t.startsWith(\"/\")?t:\"/\"+t}function g(t){let e=t;return\"/\"!==e[0]&&(e=\"/\"+e),/^.+\\/$/.test(e)&&(e=e.substr(0,e.length-1)),e}function m(t){let e=new(i())(t).pathname;return e.length<=0&&(e=\"/\"),g(e)}function y(){for(var t=arguments.length,e=new Array(t),n=0;n1){var n=t.shift();t[0]=n+t[0]}t[0].match(/^file:\\/\\/\\//)?t[0]=t[0].replace(/^([^/:]+):\\/*/,\"$1:///\"):t[0]=t[0].replace(/^([^/:]+):\\/*/,\"$1://\");for(var r=0;r0&&(o=o.replace(/^[\\/]+/,\"\")),o=r0?\"?\":\"\")+s.join(\"&\")}(\"object\"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}(e.reduce(((t,e,n)=>((0===n||\"/\"!==e||\"/\"===e&&\"/\"!==t[t.length-1])&&t.push(e),t)),[]))}var v=n(542),b=n.n(v);const w=\"abcdef0123456789\";function x(t,e){const n=t.url.replace(\"//\",\"\"),r=-1==n.indexOf(\"/\")?\"/\":n.slice(n.indexOf(\"/\")),o=t.method?t.method.toUpperCase():\"GET\",i=!!/(^|,)\\s*auth\\s*($|,)/.test(e.qop)&&\"auth\",s=`00000000${e.nc}`.slice(-8),a=function(t,e,n,r,o,i,s){const a=s||b()(`${e}:${n}:${r}`);return t&&\"md5-sess\"===t.toLowerCase()?b()(`${a}:${o}:${i}`):a}(e.algorithm,e.username,e.realm,e.password,e.nonce,e.cnonce,e.ha1),u=b()(`${o}:${r}`),c=i?b()(`${a}:${e.nonce}:${s}:${e.cnonce}:${i}:${u}`):b()(`${a}:${e.nonce}:${u}`),l={username:e.username,realm:e.realm,nonce:e.nonce,uri:r,qop:i,response:c,nc:s,cnonce:e.cnonce,algorithm:e.algorithm,opaque:e.opaque},h=[];for(const t in l)l[t]&&(\"qop\"===t||\"nc\"===t||\"algorithm\"===t?h.push(`${t}=${l[t]}`):h.push(`${t}=\"${l[t]}\"`));return`Digest ${h.join(\", \")}`}function N(t){return\"digest\"===(t.headers&&t.headers.get(\"www-authenticate\")||\"\").split(/\\s/)[0].toLowerCase()}var P=n(101),A=n.n(P);function O(t){return A().decode(t)}function E(t,e){var n;return`Basic ${n=`${t}:${e}`,A().encode(n)}`}const T=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:\"undefined\"!=typeof window?window:globalThis,j=T.fetch.bind(T),S=(T.Headers,T.Request),$=T.Response;let C=function(t){return t.Auto=\"auto\",t.Digest=\"digest\",t.None=\"none\",t.Password=\"password\",t.Token=\"token\",t}({}),I=function(t){return t.DataTypeNoLength=\"data-type-no-length\",t.InvalidAuthType=\"invalid-auth-type\",t.InvalidOutputFormat=\"invalid-output-format\",t.LinkUnsupportedAuthType=\"link-unsupported-auth\",t.InvalidUpdateRange=\"invalid-update-range\",t.NotSupported=\"not-supported\",t}({});function k(t,e,n,r,o){switch(t.authType){case C.Auto:e&&n&&(t.headers.Authorization=E(e,n));break;case C.Digest:t.digest=function(t,e,n){return{username:t,password:e,ha1:n,nc:0,algorithm:\"md5\",hasDigestAuth:!1}}(e,n,o);break;case C.None:break;case C.Password:t.headers.Authorization=E(e,n);break;case C.Token:t.headers.Authorization=`${(i=r).token_type} ${i.access_token}`;break;default:throw new u({info:{code:I.InvalidAuthType}},`Invalid auth type: ${t.authType}`)}var i}n(345),n(800);const R=\"@@HOTPATCHER\",L=()=>{};function _(t){return{original:t,methods:[t],final:!1}}class M{constructor(){this._configuration={registry:{},getEmptyAction:\"null\"},this.__type__=R}get configuration(){return this._configuration}get getEmptyAction(){return this.configuration.getEmptyAction}set getEmptyAction(t){this.configuration.getEmptyAction=t}control(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t||t.__type__!==R)throw new Error(\"Failed taking control of target HotPatcher instance: Invalid type or object\");return Object.keys(t.configuration.registry).forEach((n=>{this.configuration.registry.hasOwnProperty(n)?e&&(this.configuration.registry[n]=Object.assign({},t.configuration.registry[n])):this.configuration.registry[n]=Object.assign({},t.configuration.registry[n])})),t._configuration=this.configuration,this}execute(t){const e=this.get(t)||L;for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o0;)o=[e.shift().apply(i,o)];return o[0]}}(...e.methods)}isPatched(t){return!!this.configuration.registry[t]}patch(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{chain:r=!1}=n;if(this.configuration.registry[t]&&this.configuration.registry[t].final)throw new Error(`Failed patching '${t}': Method marked as being final`);if(\"function\"!=typeof e)throw new Error(`Failed patching '${t}': Provided method is not a function`);if(r)this.configuration.registry[t]?this.configuration.registry[t].methods.push(e):this.configuration.registry[t]=_(e);else if(this.isPatched(t)){const{original:n}=this.configuration.registry[t];this.configuration.registry[t]=Object.assign(_(e),{original:n})}else this.configuration.registry[t]=_(e);return this}patchInline(t,e){this.isPatched(t)||this.patch(t,e);for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o1?e-1:0),r=1;r{this.patch(t,e,{chain:!0})})),this}restore(t){if(!this.isPatched(t))throw new Error(`Failed restoring method: No method present for key: ${t}`);if(\"function\"!=typeof this.configuration.registry[t].original)throw new Error(`Failed restoring method: Original method not found or of invalid type for key: ${t}`);return this.configuration.registry[t].methods=[this.configuration.registry[t].original],this}setFinal(t){if(!this.configuration.registry.hasOwnProperty(t))throw new Error(`Failed marking '${t}' as final: No method found for key`);return this.configuration.registry[t].final=!0,this}}let U=null;function F(){return U||(U=new M),U}function D(t){return function(t){if(\"object\"!=typeof t||null===t||\"[object Object]\"!=Object.prototype.toString.call(t))return!1;if(null===Object.getPrototypeOf(t))return!0;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t)?Object.assign({},t):Object.setPrototypeOf(Object.assign({},t),Object.getPrototypeOf(t))}function B(){for(var t=arguments.length,e=new Array(t),n=0;n0;){const t=o.shift();r=r?W(r,t):D(t)}return r}function W(t,e){const n=D(t);return Object.keys(e).forEach((t=>{n.hasOwnProperty(t)?Array.isArray(e[t])?n[t]=Array.isArray(n[t])?[...n[t],...e[t]]:[...e[t]]:\"object\"==typeof e[t]&&e[t]?n[t]=\"object\"==typeof n[t]&&n[t]?W(n[t],e[t]):D(e[t]):n[t]=e[t]:n[t]=e[t]})),n}function V(t){const e={};for(const n of t.keys())e[n]=t.get(n);return e}function z(){for(var t=arguments.length,e=new Array(t),n=0;n(Object.keys(e).forEach((n=>{const o=n.toLowerCase();r.hasOwnProperty(o)?t[r[o]]=e[n]:(r[o]=n,t[n]=e[n])})),t)),{})}n(805);const G=\"function\"==typeof ArrayBuffer,{toString:q}=Object.prototype;function H(t){return G&&(t instanceof ArrayBuffer||\"[object ArrayBuffer]\"===q.call(t))}function X(t){return null!=t&&null!=t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function Z(t){return function(){for(var e=[],n=0;ne.patchInline(\"fetch\",j,t.url,function(t){let e={};const n={method:t.method};if(t.headers&&(e=z(e,t.headers)),void 0!==t.data){const[r,o]=function(t){if(\"string\"==typeof t)return[t,{}];if(X(t))return[t,{}];if(H(t))return[t,{}];if(t&&\"object\"==typeof t)return[JSON.stringify(t),{\"content-type\":\"application/json\"}];throw new Error(\"Unable to convert request body: Unexpected body type: \"+typeof t)}(t.data);n.body=r,e=z(e,o)}return t.signal&&(n.signal=t.signal),t.withCredentials&&(n.credentials=\"include\"),n.headers=e,n}(t))),t)}var nt=n(285);const rt=t=>{if(\"string\"!=typeof t)throw new TypeError(\"invalid pattern\");if(t.length>65536)throw new TypeError(\"pattern is too long\")},ot={\"[:alnum:]\":[\"\\\\p{L}\\\\p{Nl}\\\\p{Nd}\",!0],\"[:alpha:]\":[\"\\\\p{L}\\\\p{Nl}\",!0],\"[:ascii:]\":[\"\\\\x00-\\\\x7f\",!1],\"[:blank:]\":[\"\\\\p{Zs}\\\\t\",!0],\"[:cntrl:]\":[\"\\\\p{Cc}\",!0],\"[:digit:]\":[\"\\\\p{Nd}\",!0],\"[:graph:]\":[\"\\\\p{Z}\\\\p{C}\",!0,!0],\"[:lower:]\":[\"\\\\p{Ll}\",!0],\"[:print:]\":[\"\\\\p{C}\",!0],\"[:punct:]\":[\"\\\\p{P}\",!0],\"[:space:]\":[\"\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f\",!0],\"[:upper:]\":[\"\\\\p{Lu}\",!0],\"[:word:]\":[\"\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}\",!0],\"[:xdigit:]\":[\"A-Fa-f0-9\",!1]},it=t=>t.replace(/[[\\]\\\\-]/g,\"\\\\$&\"),st=t=>t.join(\"\"),at=(t,e)=>{const n=e;if(\"[\"!==t.charAt(n))throw new Error(\"not in a brace expression\");const r=[],o=[];let i=n+1,s=!1,a=!1,u=!1,c=!1,l=n,h=\"\";t:for(;ih?r.push(it(h)+\"-\"+it(e)):e===h&&r.push(it(e)),h=\"\",i++):t.startsWith(\"-]\",i+1)?(r.push(it(e+\"-\")),i+=2):t.startsWith(\"-\",i+1)?(h=e,i+=2):(r.push(it(e)),i++)}else u=!0,i++}else c=!0,i++}if(l1&&void 0!==arguments[1]?arguments[1]:{};return e?t.replace(/\\[([^\\/\\\\])\\]/g,\"$1\"):t.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g,\"$1$2\").replace(/\\\\([^\\/])/g,\"$1\")},ct=new Set([\"!\",\"?\",\"+\",\"*\",\"@\"]),lt=t=>ct.has(t),ht=\"(?!\\\\.)\",pt=new Set([\"[\",\".\"]),ft=new Set([\"..\",\".\"]),dt=new Set(\"().*{}+?[]^$\\\\!\"),gt=\"[^/]\",mt=gt+\"*?\",yt=gt+\"+?\";class vt{type;#t;#e;#n=!1;#r=[];#o;#i;#s;#a=!1;#u;#c;#l=!1;constructor(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.type=t,t&&(this.#e=!0),this.#o=e,this.#t=this.#o?this.#o.#t:this,this.#u=this.#t===this?n:this.#t.#u,this.#s=this.#t===this?[]:this.#t.#s,\"!\"!==t||this.#t.#a||this.#s.push(this),this.#i=this.#o?this.#o.#r.length:0}get hasMagic(){if(void 0!==this.#e)return this.#e;for(const t of this.#r)if(\"string\"!=typeof t&&(t.type||t.hasMagic))return this.#e=!0;return this.#e}toString(){return void 0!==this.#c?this.#c:this.type?this.#c=this.type+\"(\"+this.#r.map((t=>String(t))).join(\"|\")+\")\":this.#c=this.#r.map((t=>String(t))).join(\"\")}#h(){if(this!==this.#t)throw new Error(\"should only call on root\");if(this.#a)return this;let t;for(this.toString(),this.#a=!0;t=this.#s.pop();){if(\"!\"!==t.type)continue;let e=t,n=e.#o;for(;n;){for(let r=e.#i+1;!n.type&&r\"string\"==typeof t?t:t.toJSON())):[this.type,...this.#r.map((t=>t.toJSON()))];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#t||this.#t.#a&&\"!\"===this.#o?.type)&&t.push({}),t}isStart(){if(this.#t===this)return!0;if(!this.#o?.isStart())return!1;if(0===this.#i)return!0;const t=this.#o;for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:{};const n=new vt(null,void 0,e);return vt.#p(t,n,0,e),n}toMMPattern(){if(this!==this.#t)return this.#t.toMMPattern();const t=this.toString(),[e,n,r,o]=this.toRegExpSource();if(!(r||this.#e||this.#u.nocase&&!this.#u.nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return n;const i=(this.#u.nocase?\"i\":\"\")+(o?\"u\":\"\");return Object.assign(new RegExp(`^${e}$`,i),{_src:e,_glob:t})}get options(){return this.#u}toRegExpSource(t){const e=t??!!this.#u.dot;if(this.#t===this&&this.#h(),!this.type){const n=this.isStart()&&this.isEnd(),r=this.#r.map((e=>{const[r,o,i,s]=\"string\"==typeof e?vt.#f(e,this.#e,n):e.toRegExpSource(t);return this.#e=this.#e||i,this.#n=this.#n||s,r})).join(\"\");let o=\"\";if(this.isStart()&&\"string\"==typeof this.#r[0]&&(1!==this.#r.length||!ft.has(this.#r[0]))){const n=pt,i=e&&n.has(r.charAt(0))||r.startsWith(\"\\\\.\")&&n.has(r.charAt(2))||r.startsWith(\"\\\\.\\\\.\")&&n.has(r.charAt(4)),s=!e&&!t&&n.has(r.charAt(0));o=i?\"(?!(?:^|/)\\\\.\\\\.?(?:$|/))\":s?ht:\"\"}let i=\"\";return this.isEnd()&&this.#t.#a&&\"!\"===this.#o?.type&&(i=\"(?:$|\\\\/)\"),[o+r+i,ut(r),this.#e=!!this.#e,this.#n]}const n=\"*\"===this.type||\"+\"===this.type,r=\"!\"===this.type?\"(?:(?!(?:\":\"(?:\";let o=this.#d(e);if(this.isStart()&&this.isEnd()&&!o&&\"!\"!==this.type){const t=this.toString();return this.#r=[t],this.type=null,this.#e=void 0,[t,ut(this.toString()),!1,!1]}let i=!n||t||e?\"\":this.#d(!0);i===o&&(i=\"\"),i&&(o=`(?:${o})(?:${i})*?`);let s=\"\";return s=\"!\"===this.type&&this.#l?(this.isStart()&&!e?ht:\"\")+yt:r+o+(\"!\"===this.type?\"))\"+(!this.isStart()||e||t?\"\":ht)+mt+\")\":\"@\"===this.type?\")\":\"?\"===this.type?\")?\":\"+\"===this.type&&i?\")\":\"*\"===this.type&&i?\")?\":`)${this.type}`),[s,ut(o),this.#e=!!this.#e,this.#n]}#d(t){return this.#r.map((e=>{if(\"string\"==typeof e)throw new Error(\"string type in extglob ast??\");const[n,r,o,i]=e.toRegExpSource(t);return this.#n=this.#n||i,n})).filter((t=>!(this.isStart()&&this.isEnd()&&!t))).join(\"|\")}static#f(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!1,o=\"\",i=!1;for(let s=0;s2&&void 0!==arguments[2]?arguments[2]:{};return rt(e),!(!n.nocomment&&\"#\"===e.charAt(0))&&new Gt(e,n).match(t)},wt=/^\\*+([^+@!?\\*\\[\\(]*)$/,xt=t=>e=>!e.startsWith(\".\")&&e.endsWith(t),Nt=t=>e=>e.endsWith(t),Pt=t=>(t=t.toLowerCase(),e=>!e.startsWith(\".\")&&e.toLowerCase().endsWith(t)),At=t=>(t=t.toLowerCase(),e=>e.toLowerCase().endsWith(t)),Ot=/^\\*+\\.\\*+$/,Et=t=>!t.startsWith(\".\")&&t.includes(\".\"),Tt=t=>\".\"!==t&&\"..\"!==t&&t.includes(\".\"),jt=/^\\.\\*+$/,St=t=>\".\"!==t&&\"..\"!==t&&t.startsWith(\".\"),$t=/^\\*+$/,Ct=t=>0!==t.length&&!t.startsWith(\".\"),It=t=>0!==t.length&&\".\"!==t&&\"..\"!==t,kt=/^\\?+([^+@!?\\*\\[\\(]*)?$/,Rt=t=>{let[e,n=\"\"]=t;const r=Ut([e]);return n?(n=n.toLowerCase(),t=>r(t)&&t.toLowerCase().endsWith(n)):r},Lt=t=>{let[e,n=\"\"]=t;const r=Ft([e]);return n?(n=n.toLowerCase(),t=>r(t)&&t.toLowerCase().endsWith(n)):r},_t=t=>{let[e,n=\"\"]=t;const r=Ft([e]);return n?t=>r(t)&&t.endsWith(n):r},Mt=t=>{let[e,n=\"\"]=t;const r=Ut([e]);return n?t=>r(t)&&t.endsWith(n):r},Ut=t=>{let[e]=t;const n=e.length;return t=>t.length===n&&!t.startsWith(\".\")},Ft=t=>{let[e]=t;const n=e.length;return t=>t.length===n&&\".\"!==t&&\"..\"!==t},Dt=\"object\"==typeof process&&process?\"object\"==typeof process.env&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:\"posix\";bt.sep=\"win32\"===Dt?\"\\\\\":\"/\";const Bt=Symbol(\"globstar **\");bt.GLOBSTAR=Bt,bt.filter=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n=>bt(n,t,e)};const Wt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign({},t,e)};bt.defaults=t=>{if(!t||\"object\"!=typeof t||!Object.keys(t).length)return bt;const e=bt;return Object.assign((function(n,r){return e(n,r,Wt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}))}),{Minimatch:class extends e.Minimatch{constructor(e){super(e,Wt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}static defaults(n){return e.defaults(Wt(t,n)).Minimatch}},AST:class extends e.AST{constructor(e,n){super(e,n,Wt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}))}static fromGlob(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.AST.fromGlob(n,Wt(t,r))}},unescape:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.unescape(n,Wt(t,r))},escape:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.escape(n,Wt(t,r))},filter:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.filter(n,Wt(t,r))},defaults:n=>e.defaults(Wt(t,n)),makeRe:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.makeRe(n,Wt(t,r))},braceExpand:function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.braceExpand(n,Wt(t,r))},match:function(n,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.match(n,r,Wt(t,o))},sep:e.sep,GLOBSTAR:Bt})};const Vt=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return rt(t),e.nobrace||!/\\{(?:(?!\\{).)*\\}/.test(t)?[t]:nt(t)};bt.braceExpand=Vt,bt.makeRe=function(t){return new Gt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).makeRe()},bt.match=function(t,e){const n=new Gt(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return t=t.filter((t=>n.match(t))),n.options.nonull&&!t.length&&t.push(e),t};const zt=/[?*]|[+@!]\\(.*?\\)|\\[|\\]/;class Gt{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rt(t),e=e||{},this.options=e,this.pattern=t,this.platform=e.platform||Dt,this.isWindows=\"win32\"===this.platform,this.windowsPathsNoEscape=!!e.windowsPathsNoEscape||!1===e.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\\\/g,\"/\")),this.preserveMultipleSlashes=!!e.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!e.nonegate,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=void 0!==e.windowsNoMagicRoot?e.windowsNoMagicRoot:!(!this.isWindows||!this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(const t of this.set)for(const e of t)if(\"string\"!=typeof e)return!0;return!1}debug(){}make(){const t=this.pattern,e=this.options;if(!e.nocomment&&\"#\"===t.charAt(0))return void(this.comment=!0);if(!t)return void(this.empty=!0);this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],e.debug&&(this.debug=function(){return console.error(...arguments)}),this.debug(this.pattern,this.globSet);const n=this.globSet.map((t=>this.slashSplit(t)));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map(((t,e,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){const e=!(\"\"!==t[0]||\"\"!==t[1]||\"?\"!==t[2]&&zt.test(t[2])||zt.test(t[3])),n=/^[a-z]:/i.test(t[0]);if(e)return[...t.slice(0,4),...t.slice(4).map((t=>this.parse(t)))];if(n)return[t[0],...t.slice(1).map((t=>this.parse(t)))]}return t.map((t=>this.parse(t)))}));if(this.debug(this.pattern,r),this.set=r.filter((t=>-1===t.indexOf(!1))),this.isWindows)for(let t=0;t=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):t=e>=1?this.levelOneOptimize(t):this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map((t=>{let e=-1;for(;-1!==(e=t.indexOf(\"**\",e+1));){let n=e;for(;\"**\"===t[n+1];)n++;n!==e&&t.splice(e,n-e)}return t}))}levelOneOptimize(t){return t.map((t=>0===(t=t.reduce(((t,e)=>{const n=t[t.length-1];return\"**\"===e&&\"**\"===n?t:\"..\"===e&&n&&\"..\"!==n&&\".\"!==n&&\"**\"!==n?(t.pop(),t):(t.push(e),t)}),[])).length?[\"\"]:t))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let e=!1;do{if(e=!1,!this.preserveMultipleSlashes){for(let n=1;nr&&n.splice(r+1,o-r);let i=n[r+1];const s=n[r+2],a=n[r+3];if(\"..\"!==i)continue;if(!s||\".\"===s||\"..\"===s||!a||\".\"===a||\"..\"===a)continue;e=!0,n.splice(r,1);const u=n.slice(0);u[r]=\"**\",t.push(u),r--}if(!this.preserveMultipleSlashes){for(let t=1;tt.length))}partsMatch(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=0,o=0,i=[],s=\"\";for(;r2&&void 0!==arguments[2]&&arguments[2];const r=this.options;if(this.isWindows){const n=\"string\"==typeof t[0]&&/^[a-z]:$/i.test(t[0]),r=!n&&\"\"===t[0]&&\"\"===t[1]&&\"?\"===t[2]&&/^[a-z]:$/i.test(t[3]),o=\"string\"==typeof e[0]&&/^[a-z]:$/i.test(e[0]),i=r?3:n?0:void 0,s=!o&&\"\"===e[0]&&\"\"===e[1]&&\"?\"===e[2]&&\"string\"==typeof e[3]&&/^[a-z]:$/i.test(e[3])?3:o?0:void 0;if(\"number\"==typeof i&&\"number\"==typeof s){const[n,r]=[t[i],e[s]];n.toLowerCase()===r.toLowerCase()&&(e[s]=n,s>i?e=e.slice(s):i>s&&(t=t.slice(i)))}}const{optimizationLevel:o=1}=this.options;o>=2&&(t=this.levelTwoFileOptimize(t)),this.debug(\"matchOne\",this,{file:t,pattern:e}),this.debug(\"matchOne\",t.length,e.length);for(var i=0,s=0,a=t.length,u=e.length;i>> no match, partial?\",t,h,e,p),h!==a))}let o;if(\"string\"==typeof c?(o=l===c,this.debug(\"string match\",c,l,o)):(o=c.test(l),this.debug(\"pattern match\",c,l,o)),!o)return!1}if(i===a&&s===u)return!0;if(i===a)return n;if(s===u)return i===a-1&&\"\"===t[i];throw new Error(\"wtf?\")}braceExpand(){return Vt(this.pattern,this.options)}parse(t){rt(t);const e=this.options;if(\"**\"===t)return Bt;if(\"\"===t)return\"\";let n,r=null;(n=t.match($t))?r=e.dot?It:Ct:(n=t.match(wt))?r=(e.nocase?e.dot?At:Pt:e.dot?Nt:xt)(n[1]):(n=t.match(kt))?r=(e.nocase?e.dot?Lt:Rt:e.dot?_t:Mt)(n):(n=t.match(Ot))?r=e.dot?Tt:Et:(n=t.match(jt))&&(r=St);const o=vt.fromGlob(t,this.options).toMMPattern();return r&&\"object\"==typeof o&&Reflect.defineProperty(o,\"test\",{value:r}),o}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;const t=this.set;if(!t.length)return this.regexp=!1,this.regexp;const e=this.options,n=e.noglobstar?\"[^/]*?\":e.dot?\"(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?\":\"(?:(?!(?:\\\\/|^)\\\\.).)*?\",r=new Set(e.nocase?[\"i\"]:[]);let o=t.map((t=>{const e=t.map((t=>{if(t instanceof RegExp)for(const e of t.flags.split(\"\"))r.add(e);return\"string\"==typeof t?t.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\"\\\\$&\"):t===Bt?Bt:t._src}));return e.forEach(((t,r)=>{const o=e[r+1],i=e[r-1];t===Bt&&i!==Bt&&(void 0===i?void 0!==o&&o!==Bt?e[r+1]=\"(?:\\\\/|\"+n+\"\\\\/)?\"+o:e[r]=n:void 0===o?e[r-1]=i+\"(?:\\\\/|\"+n+\")?\":o!==Bt&&(e[r-1]=i+\"(?:\\\\/|\\\\/\"+n+\"\\\\/)\"+o,e[r+1]=Bt))})),e.filter((t=>t!==Bt)).join(\"/\")})).join(\"|\");const[i,s]=t.length>1?[\"(?:\",\")\"]:[\"\",\"\"];o=\"^\"+i+o+s+\"$\",this.negate&&(o=\"^(?!\"+o+\").+$\");try{this.regexp=new RegExp(o,[...r].join(\"\"))}catch(t){this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split(\"/\"):this.isWindows&&/^\\/\\/[^\\/]+/.test(t)?[\"\",...t.split(/\\/+/)]:t.split(/\\/+/)}match(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.partial;if(this.debug(\"match\",t,this.pattern),this.comment)return!1;if(this.empty)return\"\"===t;if(\"/\"===t&&e)return!0;const n=this.options;this.isWindows&&(t=t.split(\"\\\\\").join(\"/\"));const r=this.slashSplit(t);this.debug(this.pattern,\"split\",r);const o=this.set;this.debug(this.pattern,\"set\",o);let i=r[r.length-1];if(!i)for(let t=r.length-2;!i&&t>=0;t--)i=r[t];for(let t=0;t1&&void 0!==arguments[1]?arguments[1]:\"\"}Invalid response: ${t.status} ${t.statusText}`);return e.status=t.status,e.response=t,e}function Ht(t,e){const{status:n}=e;if(401===n&&t.digest)return e;if(n>=400)throw qt(e);return e}function Xt(t,e){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?{data:e,headers:t.headers?V(t.headers):{},status:t.status,statusText:t.statusText}:e}bt.AST=vt,bt.Minimatch=Gt,bt.escape=function(t){let{windowsPathsNoEscape:e=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e?t.replace(/[?*()[\\]]/g,\"[$&]\"):t.replace(/[?*()[\\]\\\\]/g,\"\\\\$&\")},bt.unescape=ut;const Zt=(Yt=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"COPY\",headers:{Destination:y(t.remoteURL,f(n)),Overwrite:!1===r.overwrite?\"F\":\"T\",Depth:r.shallow?\"0\":\"infinity\"}},t,r);return s=function(e){Ht(t,e)},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s},function(){for(var t=[],e=0;e2&&void 0!==arguments[2]?arguments[2]:te.Original;const r=Qt().get(t,e);return\"array\"===n&&!1===Array.isArray(r)?[r]:\"object\"===n&&Array.isArray(r)?r[0]:r}function ne(t){return new Promise((e=>{e(function(t){const{multistatus:e}=t;if(\"\"===e)return{multistatus:{response:[]}};if(!e)throw new Error(\"Invalid response: No root multistatus found\");const n={multistatus:Array.isArray(e)?e[0]:e};return Qt().set(n,\"multistatus.response\",ee(n,\"multistatus.response\",te.Array)),Qt().set(n,\"multistatus.response\",Qt().get(n,\"multistatus.response\").map((t=>function(t){const e=Object.assign({},t);return e.status?Qt().set(e,\"status\",ee(e,\"status\",te.Object)):(Qt().set(e,\"propstat\",ee(e,\"propstat\",te.Object)),Qt().set(e,\"propstat.prop\",ee(e,\"propstat.prop\",te.Object))),e}(t)))),n}(new Kt.XMLParser({removeNSPrefix:!0,numberParseOptions:{hex:!0,leadingZeros:!1}}).parse(t)))}))}function re(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{getlastmodified:r=null,getcontentlength:o=\"0\",resourcetype:i=null,getcontenttype:s=null,getetag:a=null}=t,u=i&&\"object\"==typeof i&&void 0!==i.collection?\"directory\":\"file\",c={filename:e,basename:l().basename(e),lastmod:r,size:parseInt(o,10),type:u,etag:\"string\"==typeof a?a.replace(/\"/g,\"\"):null};return\"file\"===u&&(c.mime=s&&\"string\"==typeof s?s.split(\";\")[0]:\"\"),n&&(void 0!==t.displayname&&(t.displayname=String(t.displayname)),c.props=t),c}function oe(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=null;try{t.multistatus.response[0].propstat&&(r=t.multistatus.response[0])}catch(t){}if(!r)throw new Error(\"Failed getting item stat: bad response\");const{propstat:{prop:o,status:i}}=r,[s,a,u]=i.split(\" \",3),c=parseInt(a,10);if(c>=400){const t=new Error(`Invalid response: ${c} ${u}`);throw t.status=c,t}return re(o,g(e),n)}function ie(t){switch(String(t)){case\"-3\":return\"unlimited\";case\"-2\":case\"-1\":return\"unknown\";default:return parseInt(String(t),10)}}function se(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const ae=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const{details:r=!1}=n,o=tt({url:y(t.remoteURL,f(e)),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:\"0\"}},t,n);return se(Q(o,t),(function(n){return Ht(t,n),se(n.text(),(function(t){return se(ne(t),(function(t){const o=oe(t,e,r);return Xt(n,o,r)}))}))}))}));function ue(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const ce=le((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=function(t){if(!t||\"/\"===t)return[];let e=t;const n=[];do{n.push(e),e=l().dirname(e)}while(e&&\"/\"!==e);return n}(g(e));r.sort(((t,e)=>t.length>e.length?1:e.length>t.length?-1:0));let o=!1;return function(t,e,n){if(\"function\"==typeof t[fe]){var r,o,i,s=t[fe]();function l(t){try{for(;!(r=s.next()).done;)if((t=e(r.value))&&t.then){if(!me(t))return void t.then(l,i||(i=de.bind(null,o=new ge,2)));t=t.v}o?de(o,1,t):o=t}catch(t){de(o||(o=new ge),2,t)}}if(l(),s.return){var a=function(t){try{r.done||s.return()}catch(t){}return t};if(o&&o.then)return o.then(a,(function(t){throw a(t)}));a()}return o}if(!(\"length\"in t))throw new TypeError(\"Object is not iterable\");for(var u=[],c=0;c2&&void 0!==arguments[2]?arguments[2]:{};if(!0===n.recursive)return ce(t,e,n);const r=tt({url:y(t.remoteURL,(o=f(e),o.endsWith(\"/\")?o:o+\"/\")),method:\"MKCOL\"},t,n);var o;return ue(Q(r,t),(function(e){Ht(t,e)}))}));var ve=n(388),be=n.n(ve);const we=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r={};if(\"object\"==typeof n.range&&\"number\"==typeof n.range.start){let t=`bytes=${n.range.start}-`;\"number\"==typeof n.range.end&&(t=`${t}${n.range.end}`),r.Range=t}const o=tt({url:y(t.remoteURL,f(e)),method:\"GET\",headers:r},t,n);return s=function(e){if(Ht(t,e),r.Range&&206!==e.status){const t=new Error(`Invalid response code for partial request: ${e.status}`);throw t.status=e.status,t}return n.callback&&setTimeout((()=>{n.callback(e)}),0),e.body},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s})),xe=()=>{},Ne=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"DELETE\"},t,n);return i=function(e){Ht(t,e)},(o=Q(r,t))&&o.then||(o=Promise.resolve(o)),i?o.then(i):o;var o,i})),Ae=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};return function(r,o){try{var i=(s=ae(t,e,n),a=function(){return!0},u?a?a(s):s:(s&&s.then||(s=Promise.resolve(s)),a?s.then(a):s))}catch(t){return o(t)}var s,a,u;return i&&i.then?i.then(void 0,o):i}(0,(function(t){if(404===t.status)return!1;throw t}))}));function Oe(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ee=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e),\"/\"),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:n.deep?\"infinity\":\"1\"}},t,n);return Oe(Q(r,t),(function(r){return Ht(t,r),Oe(r.text(),(function(o){if(!o)throw new Error(\"Failed parsing directory contents: Empty response\");return Oe(ne(o),(function(o){const i=d(e);let s=function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const i=l().join(e,\"/\"),{multistatus:{response:s}}=t,a=s.map((t=>{const e=function(t){try{return t.replace(/^https?:\\/\\/[^\\/]+/,\"\")}catch(t){throw new u(t,\"Failed normalising HREF\")}}(t.href),{propstat:{prop:n}}=t;return re(n,\"/\"===i?decodeURIComponent(g(e)):g(l().relative(decodeURIComponent(i),decodeURIComponent(e))),r)}));return o?a:a.filter((t=>t.basename&&(\"file\"===t.type||t.filename!==n.replace(/\\/$/,\"\"))))}(o,d(t.remoteBasePath||t.remotePath),i,n.details,n.includeSelf);return n.glob&&(s=function(t,e){return t.filter((t=>bt(t.filename,e,{matchBase:!0})))}(s,n.glob)),Xt(r,s,n.details)}))}))}))}));function Te(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"GET\",headers:{Accept:\"text/plain\"},transformResponse:[Ie]},t,n);return Se(Q(r,t),(function(e){return Ht(t,e),Se(e.text(),(function(t){return Xt(e,t,n.details)}))}))}));function Se(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const $e=Te((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"GET\"},t,n);return Se(Q(r,t),(function(e){let r;return Ht(t,e),function(t,e){var n=t();return n&&n.then?n.then(e):e()}((function(){return Se(e.arrayBuffer(),(function(t){r=t}))}),(function(){return Xt(e,r,n.details)}))}))})),Ce=Te((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{format:r=\"binary\"}=n;if(\"binary\"!==r&&\"text\"!==r)throw new u({info:{code:I.InvalidOutputFormat}},`Invalid output format: ${r}`);return\"text\"===r?je(t,e,n):$e(t,e,n)})),Ie=t=>t;function ke(t){return new Kt.XMLBuilder({attributeNamePrefix:\"@_\",format:!0,ignoreAttributes:!1,suppressEmptyNode:!0}).build(Re({lockinfo:{\"@_xmlns:d\":\"DAV:\",lockscope:{exclusive:{}},locktype:{write:{}},owner:{href:t}}},\"d\"))}function Re(t,e){const n={...t};for(const t in n)n.hasOwnProperty(t)&&(n[t]&&\"object\"==typeof n[t]&&-1===t.indexOf(\":\")?(n[`${e}:${t}`]=Re(n[t],e),delete n[t]):!1===/^@_/.test(t)&&(n[`${e}:${t}`]=n[t],delete n[t]));return n}function Le(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}function _e(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"UNLOCK\",headers:{\"Lock-Token\":n}},t,r);return Le(Q(o,t),(function(e){if(Ht(t,e),204!==e.status&&200!==e.status)throw qt(e)}))})),Ue=_e((function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{refreshToken:r,timeout:o=Fe}=n,i={Accept:\"text/plain,application/xml\",Timeout:o};r&&(i.If=r);const s=tt({url:y(t.remoteURL,f(e)),method:\"LOCK\",headers:i,data:ke(t.contactHref)},t,n);return Le(Q(s,t),(function(e){return Ht(t,e),Le(e.text(),(function(t){const n=(i=t,new Kt.XMLParser({removeNSPrefix:!0,parseAttributeValue:!0,parseTagValue:!0}).parse(i)),r=Qt().get(n,\"prop.lockdiscovery.activelock.locktoken.href\"),o=Qt().get(n,\"prop.lockdiscovery.activelock.timeout\");var i;if(!r)throw qt(e,\"No lock token received: \");return{token:r,serverTimeout:o}}))}))})),Fe=\"Infinite, Second-4100000000\";function De(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Be=function(t){return function(){for(var e=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:{};const n=e.path||\"/\",r=tt({url:y(t.remoteURL,n),method:\"PROPFIND\",headers:{Accept:\"text/plain,application/xml\",Depth:\"0\"}},t,e);return De(Q(r,t),(function(n){return Ht(t,n),De(n.text(),(function(t){return De(ne(t),(function(t){const r=function(t){try{const[e]=t.multistatus.response,{propstat:{prop:{\"quota-used-bytes\":n,\"quota-available-bytes\":r}}}=e;return void 0!==n&&void 0!==r?{used:parseInt(String(n),10),available:ie(r)}:null}catch(t){}return null}(t);return Xt(n,r,e.details)}))}))}))}));function We(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ve=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const{details:r=!1}=n,o=tt({url:y(t.remoteURL,f(e)),method:\"SEARCH\",headers:{Accept:\"text/plain,application/xml\",\"Content-Type\":t.headers[\"Content-Type\"]||\"application/xml; charset=utf-8\"}},t,n);return We(Q(o,t),(function(n){return Ht(t,n),We(n.text(),(function(t){return We(ne(t),(function(t){const o=function(t,e,n){const r={truncated:!1,results:[]};return r.truncated=t.multistatus.response.some((t=>\"507\"===(t.status||t.propstat?.status).split(\" \",3)?.[1]&&t.href.replace(/\\/$/,\"\").endsWith(f(e).replace(/\\/$/,\"\")))),t.multistatus.response.forEach((t=>{if(void 0===t.propstat)return;const e=t.href.split(\"/\").map(decodeURIComponent).join(\"/\");r.results.push(re(t.propstat.prop,e,n))})),r}(t,e,r);return Xt(n,o,r)}))}))}))})),ze=function(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const o=tt({url:y(t.remoteURL,f(e)),method:\"MOVE\",headers:{Destination:y(t.remoteURL,f(n)),Overwrite:!1===r.overwrite?\"F\":\"T\"}},t,r);return s=function(e){Ht(t,e)},(i=Q(o,t))&&i.then||(i=Promise.resolve(i)),s?i.then(s):i;var i,s}));var Ge=n(172);const qe=function(t){return function(){for(var e=[],n=0;n3&&void 0!==arguments[3]?arguments[3]:{};const{contentLength:o=!0,overwrite:i=!0}=r,s={\"Content-Type\":\"application/octet-stream\"};!1===o||(s[\"Content-Length\"]=\"number\"==typeof o?`${o}`:`${function(t){if(H(t))return t.byteLength;if(X(t))return t.length;if(\"string\"==typeof t)return(0,Ge.d)(t);throw new u({info:{code:I.DataTypeNoLength}},\"Cannot calculate data length: Invalid type\")}(n)}`),i||(s[\"If-None-Match\"]=\"*\");const a=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:s,data:n},t,r);return l=function(e){try{Ht(t,e)}catch(t){const e=t;if(412!==e.status||i)throw e;return!1}return!0},(c=Q(a,t))&&c.then||(c=Promise.resolve(c)),l?c.then(l):c;var c,l})),He=function(t){return function(){for(var e=[],n=0;n2&&void 0!==arguments[2]?arguments[2]:{};const r=tt({url:y(t.remoteURL,f(e)),method:\"OPTIONS\"},t,n);return i=function(e){try{Ht(t,e)}catch(t){throw t}return{compliance:(e.headers.get(\"DAV\")??\"\").split(\",\").map((t=>t.trim())),server:e.headers.get(\"Server\")??\"\"}},(o=Q(r,t))&&o.then||(o=Promise.resolve(o)),i?o.then(i):o;var o,i}));function Xe(t,e,n){return n?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}const Ze=Je((function(t,e,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(n>r||n<0)throw new u({info:{code:I.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);const s={\"Content-Type\":\"application/octet-stream\",\"Content-Length\":\"\"+(r-n+1),\"Content-Range\":`bytes ${n}-${r}/*`},a=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:s,data:o},t,i);return Xe(Q(a,t),(function(e){Ht(t,e)}))}));function Ye(t,e){var n=t();return n&&n.then?n.then(e):e(n)}const Ke=Je((function(t,e,n,r,o){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(n>r||n<0)throw new u({info:{code:I.InvalidUpdateRange}},`Invalid update range ${n} for partial update`);const s={\"Content-Type\":\"application/x-sabredav-partialupdate\",\"Content-Length\":\"\"+(r-n+1),\"X-Update-Range\":`bytes=${n}-${r}`},a=tt({url:y(t.remoteURL,f(e)),method:\"PATCH\",headers:s,data:o},t,i);return Xe(Q(a,t),(function(e){Ht(t,e)}))}));function Je(t){return function(){for(var e=[],n=0;n5&&void 0!==arguments[5]?arguments[5]:{};return Xe(He(t,e,i),(function(s){let a=!1;return Ye((function(){if(s.compliance.includes(\"sabredav-partialupdate\"))return Xe(Ke(t,e,n,r,o,i),(function(t){return a=!0,t}))}),(function(c){let l=!1;return a?c:Ye((function(){if(s.server.includes(\"Apache\")&&s.compliance.includes(\"\"))return Xe(Ze(t,e,n,r,o,i),(function(t){return l=!0,t}))}),(function(t){if(l)return t;throw new u({info:{code:I.NotSupported}},\"Not supported\")}))}))}))})),tn=\"https://github.com/perry-mitchell/webdav-client/blob/master/LOCK_CONTACT.md\";function en(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{authType:n=null,remoteBasePath:r,contactHref:o=tn,ha1:i,headers:s={},httpAgent:a,httpsAgent:c,password:l,token:h,username:p,withCredentials:d}=e;let g=n;g||(g=p||l?C.Password:C.None);const v={authType:g,remoteBasePath:r,contactHref:o,ha1:i,headers:Object.assign({},s),httpAgent:a,httpsAgent:c,password:l,remotePath:m(t),remoteURL:t,token:h,username:p,withCredentials:d};return k(v,p,l,h,i),{copyFile:(t,e,n)=>Zt(v,t,e,n),createDirectory:(t,e)=>ye(v,t,e),createReadStream:(t,e)=>function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new(0,be().PassThrough);return we(t,e,n).then((t=>{t.pipe(r)})).catch((t=>{r.emit(\"error\",t)})),r}(v,t,e),createWriteStream:(t,e,n)=>function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:xe;const o=new(0,be().PassThrough),i={};!1===n.overwrite&&(i[\"If-None-Match\"]=\"*\");const s=tt({url:y(t.remoteURL,f(e)),method:\"PUT\",headers:i,data:o,maxRedirects:0},t,n);return Q(s,t).then((e=>Ht(t,e))).then((t=>{setTimeout((()=>{r(t)}),0)})).catch((t=>{o.emit(\"error\",t)})),o}(v,t,e,n),customRequest:(t,e)=>Ne(v,t,e),deleteFile:(t,e)=>Pe(v,t,e),exists:(t,e)=>Ae(v,t,e),getDirectoryContents:(t,e)=>Ee(v,t,e),getFileContents:(t,e)=>Ce(v,t,e),getFileDownloadLink:t=>function(t,e){let n=y(t.remoteURL,f(e));const r=/^https:/i.test(n)?\"https\":\"http\";switch(t.authType){case C.None:break;case C.Password:{const e=O(t.headers.Authorization.replace(/^Basic /i,\"\").trim());n=n.replace(/^https?:\\/\\//,`${r}://${e}@`);break}default:throw new u({info:{code:I.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${t.authType}`)}return n}(v,t),getFileUploadLink:t=>function(t,e){let n=`${y(t.remoteURL,f(e))}?Content-Type=application/octet-stream`;const r=/^https:/i.test(n)?\"https\":\"http\";switch(t.authType){case C.None:break;case C.Password:{const e=O(t.headers.Authorization.replace(/^Basic /i,\"\").trim());n=n.replace(/^https?:\\/\\//,`${r}://${e}@`);break}default:throw new u({info:{code:I.LinkUnsupportedAuthType}},`Unsupported auth type for file link: ${t.authType}`)}return n}(v,t),getHeaders:()=>Object.assign({},v.headers),getQuota:t=>Be(v,t),lock:(t,e)=>Ue(v,t,e),moveFile:(t,e,n)=>ze(v,t,e,n),putFileContents:(t,e,n)=>qe(v,t,e,n),partialUpdateFileContents:(t,e,n,r,o)=>Qe(v,t,e,n,r,o),getDAVCompliance:t=>He(v,t),search:(t,e)=>Ve(v,t,e),setHeaders:t=>{v.headers=Object.assign({},t)},stat:(t,e)=>ae(v,t,e),unlock:(t,e,n)=>Me(v,t,e,n)}}var nn=r.hT,rn=r.O4,on=r.Kd,sn=r.YK,an=r.UU,un=r.Gu,cn=r.ky,ln=r.h4,hn=r.ch,pn=r.hq,fn=r.i5;export{nn as AuthType,rn as ErrorCode,on as Request,sn as Response,an as createClient,un as getPatcher,cn as parseStat,ln as parseXML,hn as prepareFileFromProps,pn as processResponsePayload,fn as translateDiskSpace};","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","const util = require('../util');\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // \n\n //Parameter entities are not supported\n // \n\n //Internal entities are supported\n // \n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}\n\nmodule.exports = getIgnoreAttributesFn","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\nconst getIgnoreAttributesFn = require('../ignoreAttributes')\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue\n }\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if(tagName === undefined) continue;\n\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if(!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\nconst getIgnoreAttributesFn = require('../ignoreAttributes')\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = '';\n let val = '';\n const jPath = ajPath.join('.')\n for (let key in jObj) {\n if(!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node only if it is not an attribute\n if (this.isAttribute(key)) {\n val += '';\n }\n } else if (jObj[key] === null) {\n // null attribute should be ignored by the attribute list, but should not cause the tag closing\n if (this.isAttribute(key)) {\n val += '';\n } else if (key[0] === '?') {\n val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n } else {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n }\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n } else if (!attr) {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup){\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr\n }\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath)\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n ' 0 && this.options.processEntities){\n for (let i=0; i arg.length > 0);\n if (nonEmptyArgs.length < 1) {\n return \"\";\n }\n const lastArg = nonEmptyArgs[nonEmptyArgs.length - 1];\n const leadingSlash = nonEmptyArgs[0].charAt(0) === \"/\";\n const trailingSlash = lastArg.charAt(lastArg.length - 1) === \"/\";\n const sections = nonEmptyArgs.reduce((acc, section) => acc.concat(section.split(\"/\")), []);\n let first = !leadingSlash;\n const path = sections.reduce((acc, section) => {\n if (section === \"\") {\n return acc;\n }\n if (first) {\n first = false;\n return acc + section;\n }\n return acc + \"/\" + section;\n }, \"\");\n if (trailingSlash) {\n return path + \"/\";\n }\n return path;\n}\nfunction isSamePath(path1, path2) {\n const pathSections1 = (path1 || \"\").split(\"/\").filter((p) => p !== \".\");\n const pathSections2 = (path2 || \"\").split(\"/\").filter((p) => p !== \".\");\n path1 = joinPaths.apply(void 0, pathSections1);\n path2 = joinPaths.apply(void 0, pathSections2);\n return path1 === path2;\n}\nexport {\n basename,\n dirname,\n encodePath,\n isSamePath,\n joinPaths\n};\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nvar toStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : '@@toStringTag';\n\nvar _internals = /*#__PURE__*/new WeakMap();\n\nvar _promise = /*#__PURE__*/new WeakMap();\n\nclass CancelablePromiseInternal {\n constructor(_ref) {\n var {\n executor = () => {},\n internals = defaultInternals(),\n promise = new Promise((resolve, reject) => executor(resolve, reject, onCancel => {\n internals.onCancelList.push(onCancel);\n }))\n } = _ref;\n\n _classPrivateFieldInitSpec(this, _internals, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _promise, {\n writable: true,\n value: void 0\n });\n\n _defineProperty(this, toStringTag, 'CancelablePromise');\n\n this.cancel = this.cancel.bind(this);\n\n _classPrivateFieldSet(this, _internals, internals);\n\n _classPrivateFieldSet(this, _promise, promise || new Promise((resolve, reject) => executor(resolve, reject, onCancel => {\n internals.onCancelList.push(onCancel);\n })));\n }\n\n then(onfulfilled, onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).then(createCallback(onfulfilled, _classPrivateFieldGet(this, _internals)), createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n catch(onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).catch(createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n finally(onfinally, runWhenCanceled) {\n if (runWhenCanceled) {\n _classPrivateFieldGet(this, _internals).onCancelList.push(onfinally);\n }\n\n return makeCancelable(_classPrivateFieldGet(this, _promise).finally(createCallback(() => {\n if (onfinally) {\n if (runWhenCanceled) {\n _classPrivateFieldGet(this, _internals).onCancelList = _classPrivateFieldGet(this, _internals).onCancelList.filter(callback => callback !== onfinally);\n }\n\n return onfinally();\n }\n }, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n\n cancel() {\n _classPrivateFieldGet(this, _internals).isCanceled = true;\n\n var callbacks = _classPrivateFieldGet(this, _internals).onCancelList;\n\n _classPrivateFieldGet(this, _internals).onCancelList = [];\n\n for (var callback of callbacks) {\n if (typeof callback === 'function') {\n try {\n callback();\n } catch (err) {\n console.error(err);\n }\n }\n }\n }\n\n isCanceled() {\n return _classPrivateFieldGet(this, _internals).isCanceled === true;\n }\n\n}\n\nexport class CancelablePromise extends CancelablePromiseInternal {\n constructor(executor) {\n super({\n executor\n });\n }\n\n}\n\n_defineProperty(CancelablePromise, \"all\", function all(iterable) {\n return makeAllCancelable(iterable, Promise.all(iterable));\n});\n\n_defineProperty(CancelablePromise, \"allSettled\", function allSettled(iterable) {\n return makeAllCancelable(iterable, Promise.allSettled(iterable));\n});\n\n_defineProperty(CancelablePromise, \"any\", function any(iterable) {\n return makeAllCancelable(iterable, Promise.any(iterable));\n});\n\n_defineProperty(CancelablePromise, \"race\", function race(iterable) {\n return makeAllCancelable(iterable, Promise.race(iterable));\n});\n\n_defineProperty(CancelablePromise, \"resolve\", function resolve(value) {\n return cancelable(Promise.resolve(value));\n});\n\n_defineProperty(CancelablePromise, \"reject\", function reject(reason) {\n return cancelable(Promise.reject(reason));\n});\n\n_defineProperty(CancelablePromise, \"isCancelable\", isCancelablePromise);\n\nexport default CancelablePromise;\nexport function cancelable(promise) {\n return makeCancelable(promise, defaultInternals());\n}\nexport function isCancelablePromise(promise) {\n return promise instanceof CancelablePromise || promise instanceof CancelablePromiseInternal;\n}\n\nfunction createCallback(onResult, internals) {\n if (onResult) {\n return arg => {\n if (!internals.isCanceled) {\n var result = onResult(arg);\n\n if (isCancelablePromise(result)) {\n internals.onCancelList.push(result.cancel);\n }\n\n return result;\n }\n\n return arg;\n };\n }\n}\n\nfunction makeCancelable(promise, internals) {\n return new CancelablePromiseInternal({\n internals,\n promise\n });\n}\n\nfunction makeAllCancelable(iterable, promise) {\n var internals = defaultInternals();\n internals.onCancelList.push(() => {\n for (var resolvable of iterable) {\n if (isCancelablePromise(resolvable)) {\n resolvable.cancel();\n }\n }\n });\n return new CancelablePromiseInternal({\n internals,\n promise\n });\n}\n\nfunction defaultInternals() {\n return {\n isCanceled: false,\n onCancelList: []\n };\n}\n//# sourceMappingURL=CancelablePromise.mjs.map","import { loadState } from \"@nextcloud/initial-state\";\nfunction isPublicShare() {\n return loadState(\"files_sharing\", \"isPublic\", null) ?? document.querySelector(\n 'input#isPublic[type=\"hidden\"][name=\"isPublic\"][value=\"1\"]'\n ) !== null;\n}\nfunction getSharingToken() {\n return loadState(\"files_sharing\", \"sharingToken\", null) ?? document.querySelector('input#sharingToken[type=\"hidden\"]')?.value ?? null;\n}\nexport {\n getSharingToken,\n isPublicShare\n};\n","import { join, basename, extname, dirname } from \"path\";\nimport { encodePath } from \"@nextcloud/paths\";\nimport { getLoggerBuilder } from \"@nextcloud/logger\";\nimport { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { CancelablePromise } from \"cancelable-promise\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nconst logger = getLoggerBuilder().setApp(\"@nextcloud/files\").detectUser().build();\nvar Permission = /* @__PURE__ */ ((Permission2) => {\n Permission2[Permission2[\"NONE\"] = 0] = \"NONE\";\n Permission2[Permission2[\"CREATE\"] = 4] = \"CREATE\";\n Permission2[Permission2[\"READ\"] = 1] = \"READ\";\n Permission2[Permission2[\"UPDATE\"] = 2] = \"UPDATE\";\n Permission2[Permission2[\"DELETE\"] = 8] = \"DELETE\";\n Permission2[Permission2[\"SHARE\"] = 16] = \"SHARE\";\n Permission2[Permission2[\"ALL\"] = 31] = \"ALL\";\n return Permission2;\n})(Permission || {});\nvar FileType = /* @__PURE__ */ ((FileType2) => {\n FileType2[\"Folder\"] = \"folder\";\n FileType2[\"File\"] = \"file\";\n return FileType2;\n})(FileType || {});\nconst isDavResource = function(source, davService) {\n return source.match(davService) !== null;\n};\nconst validateData = (data, davService) => {\n if (data.id && typeof data.id !== \"number\") {\n throw new Error(\"Invalid id type of value\");\n }\n if (!data.source) {\n throw new Error(\"Missing mandatory source\");\n }\n try {\n new URL(data.source);\n } catch (e) {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!data.source.startsWith(\"http\")) {\n throw new Error(\"Invalid source format, only http(s) is supported\");\n }\n if (data.displayname && typeof data.displayname !== \"string\") {\n throw new Error(\"Invalid displayname type\");\n }\n if (data.mtime && !(data.mtime instanceof Date)) {\n throw new Error(\"Invalid mtime type\");\n }\n if (data.crtime && !(data.crtime instanceof Date)) {\n throw new Error(\"Invalid crtime type\");\n }\n if (!data.mime || typeof data.mime !== \"string\" || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n throw new Error(\"Missing or invalid mandatory mime\");\n }\n if (\"size\" in data && typeof data.size !== \"number\" && data.size !== void 0) {\n throw new Error(\"Invalid size type\");\n }\n if (\"permissions\" in data && data.permissions !== void 0 && !(typeof data.permissions === \"number\" && data.permissions >= Permission.NONE && data.permissions <= Permission.ALL)) {\n throw new Error(\"Invalid permissions\");\n }\n if (data.owner && data.owner !== null && typeof data.owner !== \"string\") {\n throw new Error(\"Invalid owner type\");\n }\n if (data.attributes && typeof data.attributes !== \"object\") {\n throw new Error(\"Invalid attributes type\");\n }\n if (data.root && typeof data.root !== \"string\") {\n throw new Error(\"Invalid root type\");\n }\n if (data.root && !data.root.startsWith(\"/\")) {\n throw new Error(\"Root must start with a leading slash\");\n }\n if (data.root && !data.source.includes(data.root)) {\n throw new Error(\"Root must be part of the source\");\n }\n if (data.root && isDavResource(data.source, davService)) {\n const service = data.source.match(davService)[0];\n if (!data.source.includes(join(service, data.root))) {\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n }\n if (data.status && !Object.values(NodeStatus).includes(data.status)) {\n throw new Error(\"Status must be a valid NodeStatus\");\n }\n};\nvar NodeStatus = /* @__PURE__ */ ((NodeStatus2) => {\n NodeStatus2[\"NEW\"] = \"new\";\n NodeStatus2[\"FAILED\"] = \"failed\";\n NodeStatus2[\"LOADING\"] = \"loading\";\n NodeStatus2[\"LOCKED\"] = \"locked\";\n return NodeStatus2;\n})(NodeStatus || {});\nclass Node {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n readonlyAttributes = Object.entries(Object.getOwnPropertyDescriptors(Node.prototype)).filter((e) => typeof e[1].get === \"function\" && e[0] !== \"__proto__\").map((e) => e[0]);\n handler = {\n set: (target, prop, value) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.set(target, prop, value);\n },\n deleteProperty: (target, prop) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.deleteProperty(target, prop);\n },\n // TODO: This is deprecated and only needed for files v3\n get: (target, prop, receiver) => {\n if (this.readonlyAttributes.includes(prop)) {\n logger.warn(`Accessing \"Node.attributes.${prop}\" is deprecated, access it directly on the Node instance.`);\n return Reflect.get(this, prop);\n }\n return Reflect.get(target, prop, receiver);\n }\n };\n constructor(data, davService) {\n validateData(data, davService || this._knownDavService);\n this._data = {\n // TODO: Remove with next major release, this is just for compatibility\n displayname: data.attributes?.displayname,\n ...data,\n attributes: {}\n };\n this._attributes = new Proxy(this._data.attributes, this.handler);\n this.update(data.attributes ?? {});\n if (davService) {\n this._knownDavService = davService;\n }\n }\n /**\n * Get the source url to this object\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin } = new URL(this.source);\n return origin + encodePath(this.source.slice(origin.length));\n }\n /**\n * Get this object name\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get basename() {\n return basename(this.source);\n }\n /**\n * The nodes displayname\n * By default the display name and the `basename` are identical,\n * but it is possible to have a different name. This happens\n * on the files app for example for shared folders.\n */\n get displayname() {\n return this._data.displayname || this.basename;\n }\n /**\n * Set the displayname\n */\n set displayname(displayname) {\n this._data.displayname = displayname;\n }\n /**\n * Get this object's extension\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get extension() {\n return extname(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n *\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get dirname() {\n if (this.root) {\n let source = this.source;\n if (this.isDavResource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return dirname(source.slice(firstMatch + root.length) || \"/\");\n }\n const url = new URL(this.source);\n return dirname(url.pathname);\n }\n /**\n * Get the file mime\n * There is no setter as the mime is not meant to be changed\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Set the file modification time\n */\n set mtime(mtime) {\n this._data.mtime = mtime;\n }\n /**\n * Get the file creation time\n * There is no setter as the creation time is not meant to be changed\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Set the file size\n */\n set size(size) {\n this.updateMtime();\n this._data.size = size;\n }\n /**\n * Get the file attribute\n * This contains all additional attributes not provided by the Node class\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n if (this.owner === null && !this.isDavResource) {\n return Permission.READ;\n }\n return this._data.permissions !== void 0 ? this._data.permissions : Permission.NONE;\n }\n /**\n * Set the file permissions\n */\n set permissions(permissions) {\n this.updateMtime();\n this._data.permissions = permissions;\n }\n /**\n * Get the file owner\n * There is no setter as the owner is not meant to be changed\n */\n get owner() {\n if (!this.isDavResource) {\n return null;\n }\n return this._data.owner;\n }\n /**\n * Is this a dav-related resource ?\n */\n get isDavResource() {\n return isDavResource(this.source, this._knownDavService);\n }\n /**\n * @deprecated use `isDavResource` instead - will be removed in next major version.\n */\n get isDavRessource() {\n return this.isDavResource;\n }\n /**\n * Get the dav root of this object\n * There is no setter as the root is not meant to be changed\n */\n get root() {\n if (this._data.root) {\n return this._data.root.replace(/^(.+)\\/$/, \"$1\");\n }\n if (this.isDavResource) {\n const root = dirname(this.source);\n return root.split(this._knownDavService).pop() || null;\n }\n return null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n let source = this.source;\n if (this.isDavResource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return source.slice(firstMatch + root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * There is no setter as the fileid is not meant to be changed\n */\n get fileid() {\n return this._data?.id;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(status) {\n this._data.status = status;\n }\n /**\n * Get the node data\n */\n get data() {\n return structuredClone(this._data);\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(destination) {\n validateData({ ...this._data, source: destination }, this._knownDavService);\n const oldBasename = this.basename;\n this._data.source = destination;\n if (this.displayname === oldBasename && this.basename !== oldBasename) {\n this.displayname = this.basename;\n }\n this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(basename2) {\n if (basename2.includes(\"/\")) {\n throw new Error(\"Invalid basename\");\n }\n this.move(dirname(this.source) + \"/\" + basename2);\n }\n /**\n * Update the mtime if exists\n */\n updateMtime() {\n if (this._data.mtime) {\n this._data.mtime = /* @__PURE__ */ new Date();\n }\n }\n /**\n * Update the attributes of the node\n * Warning, updating attributes will NOT automatically update the mtime.\n *\n * @param attributes The new attributes to update on the Node attributes\n */\n update(attributes) {\n for (const [name, value] of Object.entries(attributes)) {\n try {\n if (value === void 0) {\n delete this.attributes[name];\n } else {\n this.attributes[name] = value;\n }\n } catch (e) {\n if (e instanceof TypeError) {\n continue;\n }\n throw e;\n }\n }\n }\n}\nclass File extends Node {\n get type() {\n return FileType.File;\n }\n /**\n * Returns a clone of the file\n */\n clone() {\n return new File(this.data);\n }\n}\nclass Folder extends Node {\n constructor(data) {\n super({\n ...data,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return FileType.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n /**\n * Returns a clone of the folder\n */\n clone() {\n return new Folder(this.data);\n }\n}\nconst parsePermissions = function(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"C\") || permString.includes(\"K\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\") || permString.includes(\"N\") || permString.includes(\"V\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n};\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nconst registerDavProperty = function(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n if (typeof window._nc_dav_properties === \"undefined\") {\n window._nc_dav_properties = [...defaultDavProperties];\n window._nc_dav_namespaces = { ...defaultDavNamespaces };\n }\n const namespaces = { ...window._nc_dav_namespaces, ...namespace };\n if (window._nc_dav_properties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n window._nc_dav_properties.push(prop);\n window._nc_dav_namespaces = namespaces;\n return true;\n};\nconst getDavProperties = function() {\n if (typeof window._nc_dav_properties === \"undefined\") {\n window._nc_dav_properties = [...defaultDavProperties];\n }\n return window._nc_dav_properties.map((prop) => `<${prop} />`).join(\" \");\n};\nconst getDavNameSpaces = function() {\n if (typeof window._nc_dav_namespaces === \"undefined\") {\n window._nc_dav_namespaces = { ...defaultDavNamespaces };\n }\n return Object.keys(window._nc_dav_namespaces).map((ns) => `xmlns:${ns}=\"${window._nc_dav_namespaces?.[ns]}\"`).join(\" \");\n};\nconst getDefaultPropfind = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n};\nconst getFavoritesReport = function() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n};\nconst getRecentSearch = function(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n};\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nconst getClient = function(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n};\nconst getFavoriteNodes = (davClient, path = \"/\", davRoot = defaultRootPath) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await davClient.getDirectoryContents(`${davRoot}${path}`, {\n signal: controller.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n const nodes = contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n resolve(nodes);\n } catch (error) {\n reject(error);\n }\n });\n};\nconst resultToNode = function(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n};\nexport {\n FileType as F,\n Node as N,\n Permission as P,\n getRemoteURL as a,\n defaultRemoteURL as b,\n getClient as c,\n defaultRootPath as d,\n getFavoriteNodes as e,\n defaultDavProperties as f,\n getRootPath as g,\n defaultDavNamespaces as h,\n registerDavProperty as i,\n getDavProperties as j,\n getDavNameSpaces as k,\n getDefaultPropfind as l,\n getFavoritesReport as m,\n getRecentSearch as n,\n logger as o,\n parsePermissions as p,\n File as q,\n resultToNode as r,\n Folder as s,\n NodeStatus as t\n};\n","import { o as logger } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { q, F, s, N, t, P, c, l, m, n, a, g, p, b, r, d, h, f, k, j, e, i } from \"./chunks/dav-Co9y-hkg.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"path\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get destructive() {\n return this._action.destructive;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass FileListAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n2) => `(${n2})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i2 = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i2++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e2) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a2, b2) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a2)), stringify(identifier(b2)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.displayname || v.attributes?.displayname || v.basename),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar validator$2 = {};\nvar util$3 = {};\n(function(exports) {\n const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n const getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n };\n const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === \"undefined\");\n };\n exports.isExist = function(v) {\n return typeof v !== \"undefined\";\n };\n exports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n };\n exports.merge = function(target, a2, arrayMode) {\n if (a2) {\n const keys = Object.keys(a2);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n if (arrayMode === \"strict\") {\n target[keys[i2]] = [a2[keys[i2]]];\n } else {\n target[keys[i2]] = a2[keys[i2]];\n }\n }\n }\n };\n exports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return \"\";\n }\n };\n exports.isName = isName;\n exports.getAllMatches = getAllMatches;\n exports.nameRegexp = nameRegexp;\n})(util$3);\nconst util$2 = util$3;\nconst defaultOptions$2 = {\n allowBooleanAttributes: false,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nvalidator$2.validate = function(xmlData, options) {\n options = Object.assign({}, defaultOptions$2, options);\n const tags = [];\n let tagFound = false;\n let reachedRoot = false;\n if (xmlData[0] === \"\\uFEFF\") {\n xmlData = xmlData.substr(1);\n }\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && xmlData[i2 + 1] === \"?\") {\n i2 += 2;\n i2 = readPI(xmlData, i2);\n if (i2.err) return i2;\n } else if (xmlData[i2] === \"<\") {\n let tagStartPos = i2;\n i2++;\n if (xmlData[i2] === \"!\") {\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i2] === \"/\") {\n closingTag = true;\n i2++;\n }\n let tagName = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== \">\" && xmlData[i2] !== \" \" && xmlData[i2] !== \"\t\" && xmlData[i2] !== \"\\n\" && xmlData[i2] !== \"\\r\"; i2++) {\n tagName += xmlData[i2];\n }\n tagName = tagName.trim();\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substring(0, tagName.length - 1);\n i2--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n }\n return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i2));\n }\n const result = readAttributeStr(xmlData, i2);\n if (result === false) {\n return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i2));\n }\n let attrStr = result.value;\n i2 = result.index;\n if (attrStr[attrStr.length - 1] === \"/\") {\n const attrStrStart = i2 - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n } else {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i2));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject(\n \"InvalidTag\",\n \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n getLineNumberForPosition(xmlData, tagStartPos)\n );\n }\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i2 - attrStr.length + isValid.err.line));\n }\n if (reachedRoot === true) {\n return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i2));\n } else if (options.unpairedTags.indexOf(tagName) !== -1) ;\n else {\n tags.push({ tagName, tagStartPos });\n }\n tagFound = true;\n }\n for (i2++; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"!\") {\n i2++;\n i2 = readCommentAndCDATA(xmlData, i2);\n continue;\n } else if (xmlData[i2 + 1] === \"?\") {\n i2 = readPI(xmlData, ++i2);\n if (i2.err) return i2;\n } else {\n break;\n }\n } else if (xmlData[i2] === \"&\") {\n const afterAmp = validateAmpersand(xmlData, i2);\n if (afterAmp == -1)\n return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i2));\n i2 = afterAmp;\n } else {\n if (reachedRoot === true && !isWhiteSpace(xmlData[i2])) {\n return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i2));\n }\n }\n }\n if (xmlData[i2] === \"<\") {\n i2--;\n }\n }\n } else {\n if (isWhiteSpace(xmlData[i2])) {\n continue;\n }\n return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i2] + \"' is not expected.\", getLineNumberForPosition(xmlData, i2));\n }\n }\n if (!tagFound) {\n return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n } else if (tags.length == 1) {\n return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n } else if (tags.length > 0) {\n return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t3) => t3.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n }\n return true;\n};\nfunction isWhiteSpace(char) {\n return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n}\nfunction readPI(xmlData, i2) {\n const start = i2;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] == \"?\" || xmlData[i2] == \" \") {\n const tagname = xmlData.substr(start, i2 - start);\n if (i2 > 5 && tagname === \"xml\") {\n return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i2));\n } else if (xmlData[i2] == \"?\" && xmlData[i2 + 1] == \">\") {\n i2++;\n break;\n } else {\n continue;\n }\n }\n }\n return i2;\n}\nfunction readCommentAndCDATA(xmlData, i2) {\n if (xmlData.length > i2 + 5 && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \"-\") {\n for (i2 += 3; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"-\" && xmlData[i2 + 1] === \"-\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n } else if (xmlData.length > i2 + 8 && xmlData[i2 + 1] === \"D\" && xmlData[i2 + 2] === \"O\" && xmlData[i2 + 3] === \"C\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"Y\" && xmlData[i2 + 6] === \"P\" && xmlData[i2 + 7] === \"E\") {\n let angleBracketsCount = 1;\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n angleBracketsCount++;\n } else if (xmlData[i2] === \">\") {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (xmlData.length > i2 + 9 && xmlData[i2 + 1] === \"[\" && xmlData[i2 + 2] === \"C\" && xmlData[i2 + 3] === \"D\" && xmlData[i2 + 4] === \"A\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"A\" && xmlData[i2 + 7] === \"[\") {\n for (i2 += 8; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"]\" && xmlData[i2 + 1] === \"]\" && xmlData[i2 + 2] === \">\") {\n i2 += 2;\n break;\n }\n }\n }\n return i2;\n}\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\nfunction readAttributeStr(xmlData, i2) {\n let attrStr = \"\";\n let startChar = \"\";\n let tagClosed = false;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === doubleQuote || xmlData[i2] === singleQuote) {\n if (startChar === \"\") {\n startChar = xmlData[i2];\n } else if (startChar !== xmlData[i2]) ;\n else {\n startChar = \"\";\n }\n } else if (xmlData[i2] === \">\") {\n if (startChar === \"\") {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i2];\n }\n if (startChar !== \"\") {\n return false;\n }\n return {\n value: attrStr,\n index: i2,\n tagClosed\n };\n}\nconst validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction validateAttributeString(attrStr, options) {\n const matches = util$2.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n for (let i2 = 0; i2 < matches.length; i2++) {\n if (matches[i2][1].length === 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] !== void 0 && matches[i2][4] === void 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i2][2] + \"' is without value.\", getPositionFromMatch(matches[i2]));\n } else if (matches[i2][3] === void 0 && !options.allowBooleanAttributes) {\n return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i2][2] + \"' is not allowed.\", getPositionFromMatch(matches[i2]));\n }\n const attrName = matches[i2][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i2]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n attrNames[attrName] = 1;\n } else {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i2]));\n }\n }\n return true;\n}\nfunction validateNumberAmpersand(xmlData, i2) {\n let re2 = /\\d/;\n if (xmlData[i2] === \"x\") {\n i2++;\n re2 = /[\\da-fA-F]/;\n }\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \";\")\n return i2;\n if (!xmlData[i2].match(re2))\n break;\n }\n return -1;\n}\nfunction validateAmpersand(xmlData, i2) {\n i2++;\n if (xmlData[i2] === \";\")\n return -1;\n if (xmlData[i2] === \"#\") {\n i2++;\n return validateNumberAmpersand(xmlData, i2);\n }\n let count = 0;\n for (; i2 < xmlData.length; i2++, count++) {\n if (xmlData[i2].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i2] === \";\")\n break;\n return -1;\n }\n return i2;\n}\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col\n }\n };\n}\nfunction validateAttrName(attrName) {\n return util$2.isName(attrName);\n}\nfunction validateTagName(tagname) {\n return util$2.isName(tagname);\n}\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\nvar OptionsBuilder = {};\nconst defaultOptions$1 = {\n preserveOrder: false,\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n removeNSPrefix: false,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true,\n //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val2) {\n return val2;\n },\n attributeValueProcessor: function(attrName, val2) {\n return val2;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs) {\n return tagName;\n }\n // skipEmptyListItem: false\n};\nconst buildOptions$1 = function(options) {\n return Object.assign({}, defaultOptions$1, options);\n};\nOptionsBuilder.buildOptions = buildOptions$1;\nOptionsBuilder.defaultOptions = defaultOptions$1;\nclass XmlNode {\n constructor(tagname) {\n this.tagname = tagname;\n this.child = [];\n this[\":@\"] = {};\n }\n add(key, val2) {\n if (key === \"__proto__\") key = \"#__proto__\";\n this.child.push({ [key]: val2 });\n }\n addChild(node) {\n if (node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n } else {\n this.child.push({ [node.tagname]: node.child });\n }\n }\n}\nvar xmlNode$1 = XmlNode;\nconst util$1 = util$3;\nfunction readDocType$1(xmlData, i2) {\n const entities = {};\n if (xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"C\" && xmlData[i2 + 5] === \"T\" && xmlData[i2 + 6] === \"Y\" && xmlData[i2 + 7] === \"P\" && xmlData[i2 + 8] === \"E\") {\n i2 = i2 + 9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\" && !comment) {\n if (hasBody && isEntity(xmlData, i2)) {\n i2 += 7;\n [entityName, val, i2] = readEntityExp(xmlData, i2 + 1);\n if (val.indexOf(\"&\") === -1)\n entities[validateEntityName(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n };\n } else if (hasBody && isElement(xmlData, i2)) i2 += 8;\n else if (hasBody && isAttlist(xmlData, i2)) i2 += 8;\n else if (hasBody && isNotation(xmlData, i2)) i2 += 9;\n else if (isComment) comment = true;\n else throw new Error(\"Invalid DOCTYPE\");\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i2] === \">\") {\n if (comment) {\n if (xmlData[i2 - 1] === \"-\" && xmlData[i2 - 2] === \"-\") {\n comment = false;\n angleBracketsCount--;\n }\n } else {\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n } else if (xmlData[i2] === \"[\") {\n hasBody = true;\n } else {\n exp += xmlData[i2];\n }\n }\n if (angleBracketsCount !== 0) {\n throw new Error(`Unclosed DOCTYPE`);\n }\n } else {\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return { entities, i: i2 };\n}\nfunction readEntityExp(xmlData, i2) {\n let entityName2 = \"\";\n for (; i2 < xmlData.length && (xmlData[i2] !== \"'\" && xmlData[i2] !== '\"'); i2++) {\n entityName2 += xmlData[i2];\n }\n entityName2 = entityName2.trim();\n if (entityName2.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n const startChar = xmlData[i2++];\n let val2 = \"\";\n for (; i2 < xmlData.length && xmlData[i2] !== startChar; i2++) {\n val2 += xmlData[i2];\n }\n return [entityName2, val2, i2];\n}\nfunction isComment(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"-\" && xmlData[i2 + 3] === \"-\") return true;\n return false;\n}\nfunction isEntity(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"N\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"I\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"Y\") return true;\n return false;\n}\nfunction isElement(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"E\" && xmlData[i2 + 3] === \"L\" && xmlData[i2 + 4] === \"E\" && xmlData[i2 + 5] === \"M\" && xmlData[i2 + 6] === \"E\" && xmlData[i2 + 7] === \"N\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n}\nfunction isAttlist(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"A\" && xmlData[i2 + 3] === \"T\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"L\" && xmlData[i2 + 6] === \"I\" && xmlData[i2 + 7] === \"S\" && xmlData[i2 + 8] === \"T\") return true;\n return false;\n}\nfunction isNotation(xmlData, i2) {\n if (xmlData[i2 + 1] === \"!\" && xmlData[i2 + 2] === \"N\" && xmlData[i2 + 3] === \"O\" && xmlData[i2 + 4] === \"T\" && xmlData[i2 + 5] === \"A\" && xmlData[i2 + 6] === \"T\" && xmlData[i2 + 7] === \"I\" && xmlData[i2 + 8] === \"O\" && xmlData[i2 + 9] === \"N\") return true;\n return false;\n}\nfunction validateEntityName(name) {\n if (util$1.isName(name))\n return name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\nvar DocTypeReader = readDocType$1;\nconst hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\nconst consider = {\n hex: true,\n leadingZeros: true,\n decimalPoint: \".\",\n eNotation: true\n //skipLike: /regex/\n};\nfunction toNumber$1(str, options = {}) {\n options = Object.assign({}, consider, options);\n if (!str || typeof str !== \"string\") return str;\n let trimmedStr = str.trim();\n if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n } else {\n const match = numRegex.exec(trimmedStr);\n if (match) {\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]);\n const eNotation = match[4] || match[6];\n if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str;\n else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str;\n else {\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if (numStr.search(/[eE]/) !== -1) {\n if (options.eNotation) return num;\n else return str;\n } else if (eNotation) {\n if (options.eNotation) return num;\n else return str;\n } else if (trimmedStr.indexOf(\".\") !== -1) {\n if (numStr === \"0\" && numTrimmedByZeros === \"\") return num;\n else if (numStr === numTrimmedByZeros) return num;\n else if (sign && numStr === \"-\" + numTrimmedByZeros) return num;\n else return str;\n }\n if (leadingZeros) {\n if (numTrimmedByZeros === numStr) return num;\n else if (sign + numTrimmedByZeros === numStr) return num;\n else return str;\n }\n if (trimmedStr === numStr) return num;\n else if (trimmedStr === sign + numStr) return num;\n return str;\n }\n } else {\n return str;\n }\n }\n}\nfunction trimZeros(numStr) {\n if (numStr && numStr.indexOf(\".\") !== -1) {\n numStr = numStr.replace(/0+$/, \"\");\n if (numStr === \".\") numStr = \"0\";\n else if (numStr[0] === \".\") numStr = \"0\" + numStr;\n else if (numStr[numStr.length - 1] === \".\") numStr = numStr.substr(0, numStr.length - 1);\n return numStr;\n }\n return numStr;\n}\nvar strnum = toNumber$1;\nfunction getIgnoreAttributesFn$2(ignoreAttributes2) {\n if (typeof ignoreAttributes2 === \"function\") {\n return ignoreAttributes2;\n }\n if (Array.isArray(ignoreAttributes2)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes2) {\n if (typeof pattern === \"string\" && attrName === pattern) {\n return true;\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true;\n }\n }\n };\n }\n return () => false;\n}\nvar ignoreAttributes = getIgnoreAttributesFn$2;\nconst util = util$3;\nconst xmlNode = xmlNode$1;\nconst readDocType = DocTypeReader;\nconst toNumber = strnum;\nconst getIgnoreAttributesFn$1 = ignoreAttributes;\nlet OrderedObjParser$1 = class OrderedObjParser {\n constructor(options) {\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue$1;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn$1(this.options.ignoreAttributes);\n }\n};\nfunction addExternalEntities(externalEntities) {\n const entKeys = Object.keys(externalEntities);\n for (let i2 = 0; i2 < entKeys.length; i2++) {\n const ent = entKeys[i2];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n val: externalEntities[ent]\n };\n }\n}\nfunction parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val2 !== void 0) {\n if (this.options.trimValues && !dontTrim) {\n val2 = val2.trim();\n }\n if (val2.length > 0) {\n if (!escapeEntities) val2 = this.replaceEntitiesValue(val2);\n const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode);\n if (newval === null || newval === void 0) {\n return val2;\n } else if (typeof newval !== typeof val2 || newval !== val2) {\n return newval;\n } else if (this.options.trimValues) {\n return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n const trimmedVal = val2.trim();\n if (trimmedVal === val2) {\n return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n return val2;\n }\n }\n }\n }\n}\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(\":\");\n const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n if (tags[0] === \"xmlns\") {\n return \"\";\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\nconst attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === \"string\") {\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length;\n const attrs = {};\n for (let i2 = 0; i2 < len; i2++) {\n const attrName = this.resolveNameSpace(matches[i2][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue;\n }\n let oldVal = matches[i2][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if (aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== void 0) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if (newVal === null || newVal === void 0) {\n attrs[aName] = oldVal;\n } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n attrs[aName] = newVal;\n } else {\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n const xmlObj = new xmlNode(\"!xml\");\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for (let i2 = 0; i2 < xmlData.length; i2++) {\n const ch = xmlData[i2];\n if (ch === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, \"Closing Tag is not closed.\");\n let tagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (this.options.removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n }\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode) {\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n }\n let propIndex = 0;\n if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n this.tagsNodeStack.pop();\n } else {\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n currentNode = this.tagsNodeStack.pop();\n textData = \"\";\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n let tagData = readTagExp(xmlData, i2, false, \"?>\");\n if (!tagData) throw new Error(\"Pi Tag is not closed.\");\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags) ;\n else {\n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n }\n i2 = tagData.closeIndex + 1;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const endIndex = findClosingIndex(xmlData, \"-->\", i2 + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const comment = xmlData.substring(i2 + 4, endIndex - 2);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n }\n i2 = endIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"!D\") {\n const result = readDocType(xmlData, i2);\n this.docTypeEntities = result.entities;\n i2 = result.i;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i2 + 9, closeIndex);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if (val2 == void 0) val2 = \"\";\n if (this.options.cdataPropName) {\n currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n } else {\n currentNode.add(this.options.textNodeName, val2);\n }\n i2 = closeIndex + 2;\n } else {\n let result = readTagExp(xmlData, i2, this.options.removeNSPrefix);\n let tagName = result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode && textData) {\n if (currentNode.tagname !== \"!xml\") {\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n const lastTag = currentNode;\n if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if (tagName !== xmlObj.tagname) {\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i2 = result.closeIndex;\n } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n i2 = result.closeIndex;\n } else {\n const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if (!result2) throw new Error(`Unexpected end of ${rawTagName}`);\n i2 = result2.i;\n tagContent = result2.tagContent;\n }\n const childNode = new xmlNode(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if (tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n this.addChild(currentNode, childNode, jPath);\n } else {\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n const childNode = new xmlNode(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n } else {\n const childNode = new xmlNode(tagName);\n this.tagsNodeStack.push(currentNode);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n currentNode = childNode;\n }\n textData = \"\";\n i2 = closeIndex;\n }\n }\n } else {\n textData += xmlData[i2];\n }\n }\n return xmlObj.child;\n};\nfunction addChild(currentNode, childNode, jPath) {\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n if (result === false) ;\n else if (typeof result === \"string\") {\n childNode.tagname = result;\n currentNode.addChild(childNode);\n } else {\n currentNode.addChild(childNode);\n }\n}\nconst replaceEntitiesValue$1 = function(val2) {\n if (this.options.processEntities) {\n for (let entityName2 in this.docTypeEntities) {\n const entity = this.docTypeEntities[entityName2];\n val2 = val2.replace(entity.regx, entity.val);\n }\n for (let entityName2 in this.lastEntities) {\n const entity = this.lastEntities[entityName2];\n val2 = val2.replace(entity.regex, entity.val);\n }\n if (this.options.htmlEntities) {\n for (let entityName2 in this.htmlEntities) {\n const entity = this.htmlEntities[entityName2];\n val2 = val2.replace(entity.regex, entity.val);\n }\n }\n val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return val2;\n};\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) {\n if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0;\n textData = this.parseTextData(\n textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode\n );\n if (textData !== void 0 && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\nfunction isItStopNode(stopNodes, jPath, currentTagName) {\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true;\n }\n return false;\n}\nfunction tagExpWithClosingIndex(xmlData, i2, closingChar = \">\") {\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i2; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if (closingChar[1]) {\n if (xmlData[index + 1] === closingChar[1]) {\n return {\n data: tagExp,\n index\n };\n }\n } else {\n return {\n data: tagExp,\n index\n };\n }\n } else if (ch === \"\t\") {\n ch = \" \";\n }\n tagExp += ch;\n }\n}\nfunction findClosingIndex(xmlData, str, i2, errMsg) {\n const closingIndex = xmlData.indexOf(str, i2);\n if (closingIndex === -1) {\n throw new Error(errMsg);\n } else {\n return closingIndex + str.length - 1;\n }\n}\nfunction readTagExp(xmlData, i2, removeNSPrefix, closingChar = \">\") {\n const result = tagExpWithClosingIndex(xmlData, i2 + 1, closingChar);\n if (!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if (separatorIndex !== -1) {\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n const rawTagName = tagName;\n if (removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n return {\n tagName,\n tagExp,\n closeIndex,\n attrExpPresent,\n rawTagName\n };\n}\nfunction readStopNodeData(xmlData, tagName, i2) {\n const startIndex = i2;\n let openTagCount = 1;\n for (; i2 < xmlData.length; i2++) {\n if (xmlData[i2] === \"<\") {\n if (xmlData[i2 + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i2, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i2 + 2, closeIndex).trim();\n if (closeTagName === tagName) {\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i2),\n i: closeIndex\n };\n }\n }\n i2 = closeIndex;\n } else if (xmlData[i2 + 1] === \"?\") {\n const closeIndex = findClosingIndex(xmlData, \"?>\", i2 + 1, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 3) === \"!--\") {\n const closeIndex = findClosingIndex(xmlData, \"-->\", i2 + 3, \"StopNode is not closed.\");\n i2 = closeIndex;\n } else if (xmlData.substr(i2 + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i2, \"StopNode is not closed.\") - 2;\n i2 = closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i2, \">\");\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n openTagCount++;\n }\n i2 = tagData.closeIndex;\n }\n }\n }\n }\n}\nfunction parseValue(val2, shouldParse, options) {\n if (shouldParse && typeof val2 === \"string\") {\n const newval = val2.trim();\n if (newval === \"true\") return true;\n else if (newval === \"false\") return false;\n else return toNumber(val2, options);\n } else {\n if (util.isExist(val2)) {\n return val2;\n } else {\n return \"\";\n }\n }\n}\nvar OrderedObjParser_1 = OrderedObjParser$1;\nvar node2json = {};\nfunction prettify$1(node, options) {\n return compress(node, options);\n}\nfunction compress(arr, options, jPath) {\n let text;\n const compressedObj = {};\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const property = propName$1(tagObj);\n let newJpath = \"\";\n if (jPath === void 0) newJpath = property;\n else newJpath = jPath + \".\" + property;\n if (property === options.textNodeName) {\n if (text === void 0) text = tagObj[property];\n else text += \"\" + tagObj[property];\n } else if (property === void 0) {\n continue;\n } else if (tagObj[property]) {\n let val2 = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val2, options);\n if (tagObj[\":@\"]) {\n assignAttributes(val2, tagObj[\":@\"], newJpath, options);\n } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n val2 = val2[options.textNodeName];\n } else if (Object.keys(val2).length === 0) {\n if (options.alwaysCreateTextNode) val2[options.textNodeName] = \"\";\n else val2 = \"\";\n }\n if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n if (!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [compressedObj[property]];\n }\n compressedObj[property].push(val2);\n } else {\n if (options.isArray(property, newJpath, isLeaf)) {\n compressedObj[property] = [val2];\n } else {\n compressedObj[property] = val2;\n }\n }\n }\n }\n if (typeof text === \"string\") {\n if (text.length > 0) compressedObj[options.textNodeName] = text;\n } else if (text !== void 0) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\nfunction propName$1(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (key !== \":@\") return key;\n }\n}\nfunction assignAttributes(obj, attrMap, jpath, options) {\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length;\n for (let i2 = 0; i2 < len; i2++) {\n const atrrName = keys[i2];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [attrMap[atrrName]];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\nfunction isLeafTag(obj, options) {\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n if (propCount === 0) {\n return true;\n }\n if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n return true;\n }\n return false;\n}\nnode2json.prettify = prettify$1;\nconst { buildOptions } = OptionsBuilder;\nconst OrderedObjParser2 = OrderedObjParser_1;\nconst { prettify } = node2json;\nconst validator$1 = validator$2;\nlet XMLParser$1 = class XMLParser {\n constructor(options) {\n this.externalEntities = {};\n this.options = buildOptions(options);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData, validationOption) {\n if (typeof xmlData === \"string\") ;\n else if (xmlData.toString) {\n xmlData = xmlData.toString();\n } else {\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n }\n if (validationOption) {\n if (validationOption === true) validationOption = {};\n const result = validator$1.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n }\n }\n const orderedObjParser = new OrderedObjParser2(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value) {\n if (value.indexOf(\"&\") !== -1) {\n throw new Error(\"Entity value can't have '&'\");\n } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for ' '\");\n } else if (value === \"&\") {\n throw new Error(\"An entity with value '&' is not permitted\");\n } else {\n this.externalEntities[key] = value;\n }\n }\n};\nvar XMLParser_1 = XMLParser$1;\nconst EOL = \"\\n\";\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n for (let i2 = 0; i2 < arr.length; i2++) {\n const tagObj = arr[i2];\n const tagName = propName(tagObj);\n if (tagName === void 0) continue;\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName;\n else newJPath = `${jPath}.${tagName}`;\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr2 = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\n }\n isPreviousElementTag = true;\n }\n return xmlStr;\n}\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i2 = 0; i2 < keys.length; i2++) {\n const key = keys[i2];\n if (!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i2 = 0; i2 < options.entities.length; i2++) {\n const entity = options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nvar orderedJs2Xml = toXml;\nconst buildFromOrderedJs = orderedJs2Xml;\nconst getIgnoreAttributesFn = ignoreAttributes;\nconst defaultOptions = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: \" \",\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a2) {\n return a2;\n },\n attributeValueProcessor: function(attrName, a2) {\n return a2;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function() {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n this.processTextOrObjNode = processTextOrObjNode;\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = \">\\n\";\n this.newLine = \"\\n\";\n } else {\n this.indentate = function() {\n return \"\";\n };\n this.tagEndChar = \">\";\n this.newLine = \"\";\n }\n}\nBuilder.prototype.build = function(jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n };\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\nBuilder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = \"\";\n let val2 = \"\";\n const jPath = ajPath.join(\".\");\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === \"undefined\") {\n if (this.isAttribute(key)) {\n val2 += \"\";\n }\n } else if (jObj[key] === null) {\n if (this.isAttribute(key)) {\n val2 += \"\";\n } else if (key[0] === \"?\") {\n val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n } else {\n val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n }\n } else if (jObj[key] instanceof Date) {\n val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n } else if (typeof jObj[key] !== \"object\") {\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n } else if (!attr) {\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n val2 += this.replaceEntitiesValue(newval);\n } else {\n val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j2 = 0; j2 < arrLen; j2++) {\n const item = jObj[key][j2];\n if (typeof item === \"undefined\") ;\n else if (item === null) {\n if (key[0] === \"?\") val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n else val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n } else if (typeof item === \"object\") {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr;\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath);\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, \"\", level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val2 += listTagVal;\n } else {\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j2 = 0; j2 < L; j2++) {\n attrStr += this.buildAttrPairStr(Ks[j2], \"\" + jObj[key][Ks[j2]]);\n }\n } else {\n val2 += this.processTextOrObjNode(jObj[key], key, level, ajPath);\n }\n }\n }\n return { attrStr, val: val2 };\n};\nBuilder.prototype.buildAttrPairStr = function(attrName, val2) {\n val2 = this.options.attributeValueProcessor(attrName, \"\" + val2);\n val2 = this.replaceEntitiesValue(val2);\n if (this.options.suppressBooleanAttributes && val2 === \"true\") {\n return \" \" + attrName;\n } else return \" \" + attrName + '=\"' + val2 + '\"';\n};\nfunction processTextOrObjNode(object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\nBuilder.prototype.buildObjectNode = function(val2, key, attrStr, level) {\n if (val2 === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n else {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n let tagEndExp = \"\" + val2 + tagEndExp;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp;\n }\n }\n};\nBuilder.prototype.closeTag = function(key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) {\n if (!this.options.suppressUnpairedNode) closeTag = \"/\";\n } else if (this.options.suppressEmptyNode) {\n closeTag = \"/\";\n } else {\n closeTag = `>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n } else if (key[0] === \"?\") {\n return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val2);\n textValue = this.replaceEntitiesValue(textValue);\n if (textValue === \"\") {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \" 0 && this.options.processEntities) {\n for (let i2 = 0; i2 < this.options.entities.length; i2++) {\n const entity = this.options.entities[i2];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n};\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\nfunction isAttribute(name) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\nvar json2xml = Builder;\nconst validator = validator$2;\nconst XMLParser2 = XMLParser_1;\nconst XMLBuilder = json2xml;\nvar fxp = {\n XMLParser: XMLParser2,\n XMLValidator: validator,\n XMLBuilder\n};\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n if (fxp.XMLValidator.validate(string) !== true) {\n return false;\n }\n let jsonObject;\n const parser = new fxp.XMLParser();\n try {\n jsonObject = parser.parse(string);\n } catch {\n return false;\n }\n if (!jsonObject) {\n return false;\n }\n if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n return false;\n }\n return true;\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (\"caption\" in view && typeof view.caption !== \"string\") {\n throw new Error(\"View caption must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (\"order\" in view && typeof view.order !== \"number\") {\n throw new Error(\"View order must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nconst debug$1 = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n};\nvar debug_1 = debug$1;\nconst SEMVER_SPEC_VERSION = \"2.0.0\";\nconst MAX_LENGTH$1 = 256;\nconst MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n9007199254740991;\nconst MAX_SAFE_COMPONENT_LENGTH = 16;\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH$1 - 6;\nconst RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n];\nvar constants = {\n MAX_LENGTH: MAX_LENGTH$1,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n};\nvar re$1 = { exports: {} };\n(function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH2,\n MAX_SAFE_BUILD_LENGTH: MAX_SAFE_BUILD_LENGTH2,\n MAX_LENGTH: MAX_LENGTH2\n } = constants;\n const debug2 = debug_1;\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t3 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH2],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH2]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug2(name, index, value);\n t3[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t3.NUMERICIDENTIFIER]})\\\\.(${src[t3.NUMERICIDENTIFIER]})\\\\.(${src[t3.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t3.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t3.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t3.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t3.NUMERICIDENTIFIER]}|${src[t3.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t3.NUMERICIDENTIFIERLOOSE]}|${src[t3.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t3.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t3.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t3.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t3.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t3.BUILDIDENTIFIER]}(?:\\\\.${src[t3.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t3.MAINVERSION]}${src[t3.PRERELEASE]}?${src[t3.BUILD]}?`);\n createToken(\"FULL\", `^${src[t3.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t3.MAINVERSIONLOOSE]}${src[t3.PRERELEASELOOSE]}?${src[t3.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t3.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t3.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t3.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t3.XRANGEIDENTIFIER]})(?:\\\\.(${src[t3.XRANGEIDENTIFIER]})(?:\\\\.(${src[t3.XRANGEIDENTIFIER]})(?:${src[t3.PRERELEASE]})?${src[t3.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t3.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t3.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t3.XRANGEIDENTIFIERLOOSE]})(?:${src[t3.PRERELEASELOOSE]})?${src[t3.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t3.GTLT]}\\\\s*${src[t3.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t3.GTLT]}\\\\s*${src[t3.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH2}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?`);\n createToken(\"COERCE\", `${src[t3.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t3.COERCEPLAIN] + `(?:${src[t3.PRERELEASE]})?(?:${src[t3.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t3.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t3.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t3.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t3.LONETILDE]}${src[t3.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t3.LONETILDE]}${src[t3.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t3.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t3.LONECARET]}${src[t3.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t3.LONECARET]}${src[t3.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t3.GTLT]}\\\\s*(${src[t3.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t3.GTLT]}\\\\s*(${src[t3.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t3.GTLT]}\\\\s*(${src[t3.LOOSEPLAIN]}|${src[t3.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t3.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t3.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t3.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t3.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n})(re$1, re$1.exports);\nvar reExports = re$1.exports;\nconst looseOption = Object.freeze({ loose: true });\nconst emptyOpts = Object.freeze({});\nconst parseOptions$1 = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n};\nvar parseOptions_1 = parseOptions$1;\nconst numeric = /^[0-9]+$/;\nconst compareIdentifiers$1 = (a2, b2) => {\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n};\nconst rcompareIdentifiers = (a2, b2) => compareIdentifiers$1(b2, a2);\nvar identifiers = {\n compareIdentifiers: compareIdentifiers$1,\n rcompareIdentifiers\n};\nconst debug = debug_1;\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = constants;\nconst { safeRe: re, t: t2 } = reExports;\nconst parseOptions = parseOptions_1;\nconst { compareIdentifiers } = identifiers;\nlet SemVer$2 = class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m2 = version.trim().match(options.loose ? re[t2.LOOSE] : re[t2.FULL]);\n if (!m2) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m2[1];\n this.minor = +m2[2];\n this.patch = +m2[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m2[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m2[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m2[5] ? m2[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i2 = 0;\n do {\n const a2 = this.prerelease[i2];\n const b2 = other.prerelease[i2];\n debug(\"prerelease compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i2 = 0;\n do {\n const a2 = this.build[i2];\n const b2 = other.build[i2];\n debug(\"build compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i2 = this.prerelease.length;\n while (--i2 >= 0) {\n if (typeof this.prerelease[i2] === \"number\") {\n this.prerelease[i2]++;\n i2 = -2;\n }\n }\n if (i2 === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n};\nvar semver = SemVer$2;\nconst SemVer$1 = semver;\nconst parse$1 = (version, options, throwErrors = false) => {\n if (version instanceof SemVer$1) {\n return version;\n }\n try {\n return new SemVer$1(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n};\nvar parse_1 = parse$1;\nconst parse = parse_1;\nconst valid = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n};\nvar valid_1 = valid;\nconst valid$1 = /* @__PURE__ */ getDefaultExportFromCjs(valid_1);\nconst SemVer2 = semver;\nconst major = (a2, loose) => new SemVer2(a2, loose).major;\nvar major_1 = major;\nconst major$1 = /* @__PURE__ */ getDefaultExportFromCjs(major_1);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid$1(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major$1(bus2.getVersion()) !== major$1(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h2) => h2 !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h2) => {\n try {\n h2(event);\n } catch (e2) {\n console.error(\"could not invoke event listener\", e2);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a2, b2) => {\n if (a2.order !== void 0 && b2.order !== void 0 && a2.order !== b2.order) {\n return a2.order - b2.order;\n }\n return a2.displayName.localeCompare(b2.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n q as File,\n FileAction,\n FileListAction,\n FileListFilter,\n F as FileType,\n FilesSortingMode,\n s as Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n N as Node,\n t as NodeStatus,\n P as Permission,\n View,\n addNewFileMenuEntry,\n c as davGetClient,\n l as davGetDefaultPropfind,\n m as davGetFavoritesReport,\n n as davGetRecentSearch,\n a as davGetRemoteURL,\n g as davGetRootPath,\n p as davParsePermissions,\n b as davRemoteURL,\n r as davResultToNode,\n d as davRootPath,\n h as defaultDavNamespaces,\n f as defaultDavProperties,\n formatFileSize,\n k as getDavNameSpaces,\n j as getDavProperties,\n e as getFavoriteNodes,\n getFileActions,\n getFileListActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n i as registerDavProperty,\n registerFileAction,\n registerFileListAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nconst getLogger = user => {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('end_to_end_encryption')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('end_to_end_encryption')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nexport function bufferToString(buffer: Uint8Array): string {\n\treturn String.fromCharCode(...buffer)\n}\n\nexport function stringToBuffer(str: string): Uint8Array {\n\treturn Uint8Array.from(str, c => c.charCodeAt(0))\n}\n\nexport function bufferToBase64(buffer: Uint8Array): string {\n\treturn btoa(bufferToString(buffer))\n}\n\nexport function base64ToBuffer(base64Str: string): Uint8Array {\n\treturn stringToBuffer(atob(base64Str))\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport type { Metadata, PrivateKeyInfo } from '../models'\nimport { base64ToBuffer } from './utils'\n\n// API: https://github.com/nextcloud/end_to_end_encryption/blob/master/doc/api.md\n\nconst API_ROOT = 'apps/end_to_end_encryption/api/v2'\nconst Url = {\n\tPrivateKey: API_ROOT + '/private-key',\n\tMetadata: API_ROOT + '/meta-data/{fileId}',\n}\n\nexport async function getPrivateKey(): Promise {\n\tconst response = await axios.get>(\n\t\tgenerateOcsUrl(Url.PrivateKey),\n\t\t{ headers: { 'X-E2EE-SUPPORTED': 'true' } },\n\t)\n\tconst encryptedPrivateKeyInfo = response.data.ocs.data['private-key']\n\tconst [encryptedPrivateKey, iv, salt] = encryptedPrivateKeyInfo.split('|')\n\treturn {\n\t\tencryptedPrivateKey: base64ToBuffer(encryptedPrivateKey),\n\t\tiv: base64ToBuffer(iv),\n\t\tsalt: base64ToBuffer(salt),\n\t}\n}\n\nexport async function getMetadata(fileId: string): Promise {\n\tconst response = await axios.get>(\n\t\tgenerateOcsUrl(Url.Metadata, { fileId }),\n\t\t{ headers: { 'X-E2EE-SUPPORTED': 'true' } },\n\t)\n\treturn JSON.parse(response.data.ocs.data['meta-data']) as Metadata\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nexport async function encryptWithAES(content: BufferSource, key: CryptoKey, options: Partial = {}) {\n\tconst iv = self.crypto.getRandomValues(new Uint8Array(16))\n\n\tconst encryptedContent = await self.crypto.subtle.encrypt(\n\t\t{ name: 'AES-GCM', iv, ...options },\n\t\tkey,\n\t\tcontent,\n\t)\n\n\treturn {\n\t\tencryptedContent: new Uint8Array(encryptedContent),\n\t\tiv,\n\t}\n}\n\nexport async function decryptWithAES(content: BufferSource, key: CryptoKey, options: Partial = {}): Promise {\n\treturn await self.crypto.subtle.decrypt(\n\t\t{ name: 'AES-GCM', ...options },\n\t\tkey,\n\t\tcontent,\n\t)\n}\n\nexport async function decryptWithRSA(content: BufferSource, key: CryptoKey): Promise {\n\treturn await self.crypto.subtle.decrypt(\n\t\t{ name: 'RSA-OAEP' },\n\t\tkey,\n\t\tcontent,\n\t)\n}\n\nexport async function loadAESPrivateKey(key: ArrayBuffer): Promise {\n\treturn await self.crypto.subtle.importKey(\n\t\t'raw',\n\t\tkey,\n\t\t{\n\t\t\tname: 'AES-GCM',\n\t\t\tlength: 128,\n\t\t},\n\t\ttrue,\n\t\t['decrypt', 'encrypt'],\n\t)\n}\n\nexport async function loadRSAPrivateKey(key: ArrayBuffer): Promise {\n\treturn await self.crypto.subtle.importKey(\n\t\t'pkcs8',\n\t\tkey,\n\t\t{\n\t\t\tname: 'RSA-OAEP',\n\t\t\thash: 'SHA-256',\n\t\t},\n\t\ttrue,\n\t\t['decrypt'],\n\t)\n}\n\nexport async function exportRSAKey(key: CryptoKey): Promise {\n\tif (key.type === 'public') {\n\t\treturn new Uint8Array(await self.crypto.subtle.exportKey('spki', key))\n\t} else {\n\t\treturn new Uint8Array(await self.crypto.subtle.exportKey('pkcs8', key))\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Metadata, MetadataInfo } from '../models'\nimport logger from './logger.ts'\nimport { getMetadata } from './api'\nimport { base64ToBuffer } from './utils'\nimport { decryptWithAES, decryptWithRSA, loadAESPrivateKey } from './crypto.ts'\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nexport async function getMetadataInfo(fileId: string, metadataPrivateKey: CryptoKey): Promise {\n\tlogger.debug('Getting metadata info', { fileId })\n\treturn await decryptMetadataInfo(await getMetadata(fileId), metadataPrivateKey)\n}\n\nexport async function decryptMetadataInfo(metadata: Metadata, metadataPrivateKey: CryptoKey): Promise {\n\tlogger.debug('Decrypting metadata info', { metadata })\n\n\tconst [encryptedMetadata, iv] = metadata.metadata.ciphertext.split('|')\n\n\tconst compressedMetadataInfo = await decryptWithAES(\n\t\tbase64ToBuffer(encryptedMetadata),\n\t\tmetadataPrivateKey,\n\t\t{ iv: base64ToBuffer(iv) },\n\t)\n\n\treturn JSON.parse(await unzipBuffer(compressedMetadataInfo))\n}\n\nasync function unzipBuffer(buffer: ArrayBuffer): Promise {\n\tconst stream = new ReadableStream({\n\t\tstart(controller) {\n\t\t\tcontroller.enqueue(new Uint8Array(buffer))\n\t\t\tcontroller.close()\n\t\t},\n\t})\n\n\tconst decompressedStream = stream.pipeThrough(new DecompressionStream('gzip'))\n\treturn await new Response(decompressedStream).text()\n}\n\nexport async function getMetadataPrivateKey(metadata: Metadata, userId: string, privateKey: CryptoKey): Promise {\n\tlogger.debug('Getting metadata private key', { metadata, userId })\n\n\tconst userInfo = metadata.users?.find(user => user.userId === userId)\n\n\tif (!userInfo) {\n\t\tthrow new Error('User not found in metadata')\n\t}\n\n\tconst encryptedMetadataPrivateKey = base64ToBuffer(userInfo.encryptedMetadataKey)\n\tconst rawMetadataPrivateKey = await decryptWithRSA(encryptedMetadataPrivateKey, privateKey)\n\treturn await loadAESPrivateKey(rawMetadataPrivateKey)\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport logger from './logger.ts'\nimport type { PrivateKeyInfo } from '../models.ts'\nimport { decryptWithAES, loadRSAPrivateKey } from './crypto.ts'\nimport { base64ToBuffer, bufferToString } from './utils.ts'\n\nconst PEM_HEADER = '-----BEGIN PRIVATE KEY-----'\nconst PEM_FOOTER = '-----END PRIVATE KEY-----'\n\nexport async function decryptPrivateKey(privateKeyInfo: PrivateKeyInfo, mnemonic: string): Promise {\n\tlogger.debug('Decrypting private key', { privateKeyInfo, mnemonic })\n\n\tconst mnemonicPrivateKey = await mnemonicToPrivateKey(mnemonic, privateKeyInfo.salt)\n\n\tconst rawPrivateKey = await decryptWithAES(\n\t\tprivateKeyInfo.encryptedPrivateKey,\n\t\tmnemonicPrivateKey,\n\t\t{ iv: privateKeyInfo.iv, tagLength: 128 },\n\t)\n\n\treturn loadPemKey(atob(bufferToString(new Uint8Array(rawPrivateKey))))\n}\n\nasync function mnemonicToPrivateKey(mnemonic: string, salt: ArrayBuffer): Promise {\n\tconst keyMaterial = await crypto.subtle.importKey(\n\t\t'raw',\n\t\tnew TextEncoder().encode(mnemonic.replaceAll(' ', '')),\n\t\t{ name: 'PBKDF2' },\n\t\tfalse,\n\t\t['deriveKey'],\n\t)\n\n\treturn await crypto.subtle.deriveKey(\n\t\t{\n\t\t\tname: 'PBKDF2',\n\t\t\tsalt,\n\t\t\thash: 'SHA-1', // TODO: Futur - 'SHA-256'\n\t\t\titerations: 1024, // TODO: Futur - 600000\n\t\t},\n\t\tkeyMaterial,\n\t\t{ name: 'AES-GCM', length: 256 },\n\t\ttrue,\n\t\t['decrypt', 'encrypt'],\n\t)\n}\n\nasync function loadPemKey(pem: string): Promise {\n\tlogger.debug('Loading PEM key', { pem })\n\n\tconst pemContents = pem\n\t\t.substring(\n\t\t\tPEM_HEADER.length,\n\t\t\tpem.length - PEM_FOOTER.length - 1,\n\t\t)\n\t\t.replace(/\\n/g, '')\n\n\treturn loadRSAPrivateKey(base64ToBuffer(pemContents))\n}\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"AlertCircleOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon alert-circle-outline-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst AlertCircle = __component__.exports;\nexport {\n AlertCircle as A\n};\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"CheckIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon check-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst Check = __component__.exports;\nexport {\n Check as C\n};\n","import '../assets/NcInputField-CUsdr7lV.css';\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { A as AlertCircle } from \"./AlertCircleOutline-DBxbepLy.mjs\";\nimport { C as Check } from \"./Check-BkThHPH7.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcInputField\",\n components: {\n NcButton,\n AlertCircle,\n Check\n },\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: [String, Number],\n default: void 0\n },\n /**\n * The value of the input field\n * If type is 'number' and a number is passed as value than the type of `update:modelValue` will also be 'number'\n */\n modelValue: {\n type: [String, Number],\n default: void 0\n },\n /**\n * The type of the input element\n */\n type: {\n type: String,\n default: \"text\",\n validator: (value) => [\n \"text\",\n \"password\",\n \"email\",\n \"tel\",\n \"url\",\n \"search\",\n \"number\"\n ].includes(value)\n },\n /**\n * The input label, always provide one for accessibility purposes.\n * This will also be used as a placeholder unless the placeholder\n * prop is populated with a different string.\n *\n * Note: If the background color is not `--color-main-background` consider using an external label instead (see `labelOutside`).\n */\n label: {\n type: String,\n default: void 0\n },\n /**\n * Pass in true if you want to use an external label. This is useful\n * if you need a label that looks different from the one provided by\n * this component\n */\n labelOutside: {\n type: Boolean,\n default: false\n },\n /**\n * The placeholder of the input. This defaults as the string that's\n * passed into the label prop. In order to remove the placeholder,\n * pass in an empty string.\n */\n placeholder: {\n type: String,\n default: void 0\n },\n /**\n * Controls whether to display the trailing button.\n */\n showTrailingButton: {\n type: Boolean,\n default: false\n },\n /**\n * Label of the trailing button\n *\n * Required when showTrailingButton is set\n */\n trailingButtonLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Toggles the success state of the component. Adds a checkmark icon.\n * this cannot be used together with canClear.\n */\n success: {\n type: Boolean,\n default: false\n },\n /**\n * Toggles the error state of the component. Adds an error icon.\n * this cannot be used together with canClear.\n */\n error: {\n type: Boolean,\n default: false\n },\n /**\n * Additional helper text message\n *\n * This will be displayed beneath the input field. In case the field is\n * also marked as having an error, the text will be displayed in red.\n */\n helperText: {\n type: String,\n default: \"\"\n },\n /**\n * Disable the input field\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Specifies whether the input should have a pill form.\n * By default, input has rounded corners.\n */\n pill: {\n type: Boolean,\n default: false\n },\n /**\n * Class to add to the input field.\n * Necessary to use NcInputField in the NcActionInput component.\n */\n inputClass: {\n type: [Object, String],\n default: \"\"\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"trailing-button-click\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\", true);\n return {\n model\n };\n },\n computed: {\n computedId() {\n return this.$attrs.id && this.$attrs.id !== \"\" ? this.$attrs.id : this.inputName;\n },\n inputName() {\n return \"input\" + GenRandomId();\n },\n hasLeadingIcon() {\n return this.$slots.default;\n },\n hasTrailingIcon() {\n return this.success;\n },\n hasPlaceholder() {\n return this.placeholder !== \"\" && this.placeholder !== void 0;\n },\n computedPlaceholder() {\n return this.hasPlaceholder ? this.placeholder : this.label;\n },\n isValidLabel() {\n const isValidLabel = this.label || this.labelOutside;\n if (!isValidLabel) {\n console.warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel;\n },\n ariaDescribedby() {\n const ariaDescribedby = [];\n if (this.helperText.length > 0) {\n ariaDescribedby.push(`${this.inputName}-helper-text`);\n }\n if (this.$attrs[\"aria-describedby\"]) {\n ariaDescribedby.push(this.$attrs[\"aria-describedby\"]);\n }\n return ariaDescribedby.join(\" \") || null;\n }\n },\n methods: {\n /**\n * Focus the input element\n *\n * @public\n */\n focus() {\n this.$refs.input.focus();\n },\n /**\n * Select all the text in the input\n *\n * @public\n */\n select() {\n this.$refs.input.select();\n },\n handleInput(event) {\n const newValue = this.type === \"number\" && typeof this.model === \"number\" ? parseFloat(event.target.value, 10) : event.target.value;\n this.model = newValue;\n },\n handleTrailingButtonClick(event) {\n this.$emit(\"trailing-button-click\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"input-field\", class: {\n \"input-field--disabled\": _vm.disabled,\n \"input-field--label-outside\": _vm.labelOutside || !_vm.isValidLabel,\n \"input-field--leading-icon\": _vm.hasLeadingIcon,\n \"input-field--trailing-icon\": _vm.showTrailingButton || _vm.hasTrailingIcon,\n \"input-field--pill\": _vm.pill\n } }, [_c(\"div\", { staticClass: \"input-field__main-wrapper\" }, [_c(\"input\", _vm._g(_vm._b({ ref: \"input\", staticClass: \"input-field__input\", class: [\n _vm.inputClass,\n {\n \"input-field__input--success\": _vm.success,\n \"input-field__input--error\": _vm.error\n }\n ], attrs: { \"id\": _vm.computedId, \"type\": _vm.type, \"disabled\": _vm.disabled, \"placeholder\": _vm.computedPlaceholder, \"aria-describedby\": _vm.ariaDescribedby, \"aria-live\": \"polite\" }, domProps: { \"value\": _vm.model?.toString() }, on: { \"input\": _vm.handleInput } }, \"input\", _vm.$attrs, false), _vm.$listeners)), !_vm.labelOutside && _vm.isValidLabel ? _c(\"label\", { staticClass: \"input-field__label\", attrs: { \"for\": _vm.computedId } }, [_vm._v(\" \" + _vm._s(_vm.label) + \" \")]) : _vm._e(), _c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.hasLeadingIcon, expression: \"hasLeadingIcon\" }], staticClass: \"input-field__icon input-field__icon--leading\" }, [_vm._t(\"default\")], 2), _vm.showTrailingButton ? _c(\"NcButton\", { staticClass: \"input-field__trailing-button\", attrs: { \"type\": \"tertiary-no-background\", \"aria-label\": _vm.trailingButtonLabel, \"disabled\": _vm.disabled }, on: { \"click\": _vm.handleTrailingButtonClick }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"trailing-button-icon\")];\n }, proxy: true }], null, true) }) : _vm.success || _vm.error ? _c(\"div\", { staticClass: \"input-field__icon input-field__icon--trailing\" }, [_vm.success ? _c(\"Check\", { staticStyle: { \"color\": \"var(--color-success-text)\" }, attrs: { \"size\": 20 } }) : _vm.error ? _c(\"AlertCircle\", { staticStyle: { \"color\": \"var(--color-error-text)\" }, attrs: { \"size\": 20 } }) : _vm._e()], 1) : _vm._e()], 1), _vm.helperText.length > 0 ? _c(\"p\", { staticClass: \"input-field__helper-text-message\", class: {\n \"input-field__helper-text-message--error\": _vm.error,\n \"input-field__helper-text-message--success\": _vm.success\n }, attrs: { \"id\": `${_vm.inputName}-helper-text` } }, [_vm.success ? _c(\"Check\", { staticClass: \"input-field__helper-text-message__icon\", attrs: { \"size\": 18 } }) : _vm.error ? _c(\"AlertCircle\", { staticClass: \"input-field__helper-text-message__icon\", attrs: { \"size\": 18 } }) : _vm._e(), _vm._v(\" \" + _vm._s(_vm.helperText) + \" \")], 1) : _vm._e()]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"e4fac465\"\n);\nconst NcInputField = __component__.exports;\nexport {\n NcInputField as N\n};\n","import { N as NcInputField } from \"./NcInputField-ixTTHy3h.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nimport { A as ArrowRight } from \"./ArrowRight-CY2b9hgN.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { r as register, d as t48, e as t17, a as t } from \"./_l10n-B-QPoWAJ.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nconst _sfc_main$1 = {\n name: \"UndoVariantIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon undo-variant-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Undo = __component__$1.exports;\nregister(t17, t48);\nconst NcInputFieldProps = new Set(Object.keys(NcInputField.props));\nconst _sfc_main = {\n name: \"NcTextField\",\n components: {\n NcInputField,\n Close,\n ArrowRight,\n Undo\n },\n // Allow forwarding all attributes\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Any [NcInputField](#/Components/NcFields?id=ncinputfield) props\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n // eslint-disable-next-line\n \" \": {},\n // Reuse all the props from NcInputField for better typing and documentation\n ...NcInputField.props,\n /**\n * The `aria-label` to set on the trailing button\n * If no explicit value is set it will default to the one matching the `trailingButtonIcon`:\n * @default 'Clear text'|'Save changes'|'Undo changes'\n */\n trailingButtonLabel: {\n type: String,\n default: \"\"\n },\n // Custom props\n /**\n * Specifies which material design icon should be used for the trailing\n * button.\n * @type {'close'|'arrowRight'|'undo'}\n */\n trailingButtonIcon: {\n type: String,\n default: \"close\",\n validator: (value) => [\n \"close\",\n \"arrowRight\",\n \"undo\"\n ].includes(value)\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model\n };\n },\n computed: {\n propsAndAttrsToForward() {\n const predefinedLabels = {\n undo: t(\"Undo changes\"),\n close: t(\"Clear text\"),\n arrowRight: t(\"Save changes\")\n };\n return {\n // Proxy all the HTML attributes\n ...this.$attrs,\n // Proxy original NcInputField's props\n ...Object.fromEntries(\n Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))\n ),\n // Adjust aria-label for predefined trailing buttons\n trailingButtonLabel: this.trailingButtonLabel || predefinedLabels[this.trailingButtonIcon]\n };\n }\n },\n methods: {\n /**\n * Focus the input element\n *\n * @public\n */\n focus() {\n this.$refs.inputField.focus();\n },\n /**\n * Select all the text in the input\n *\n * @public\n */\n select() {\n this.$refs.inputField.select();\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"NcInputField\", _vm._g(_vm._b({ ref: \"inputField\", scopedSlots: _vm._u([_vm.type !== \"search\" ? { key: \"trailing-button-icon\", fn: function() {\n return [_vm.trailingButtonIcon === \"close\" ? _c(\"Close\", { attrs: { \"size\": 20 } }) : _vm.trailingButtonIcon === \"arrowRight\" ? _c(\"ArrowRight\", { attrs: { \"size\": 20 } }) : _vm.trailingButtonIcon === \"undo\" ? _c(\"Undo\", { attrs: { \"size\": 20 } }) : _vm._e()];\n }, proxy: true } : null], null, true) }, \"NcInputField\", _vm.propsAndAttrsToForward, false), _vm.$listeners), [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcTextField = __component__.exports;\nexport {\n NcTextField as N\n};\n","\n\n\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport { spawnDialog } from '@nextcloud/dialogs'\nimport '@nextcloud/dialogs/style.css'\n\nimport MnemonicPromptDialog from '../components/MnemonicPromptDialog.vue'\n\nexport async function promptUserForMnemonic(): Promise {\n\tconst promiseWithResolvers = Promise.withResolvers()\n\n\tspawnDialog(\n\t\tMnemonicPromptDialog,\n\t\tundefined,\n\t\t(mnemonic) => {\n\t\t\tif (mnemonic !== undefined) {\n\t\t\t\tpromiseWithResolvers.resolve(mnemonic as string)\n\t\t\t} else {\n\t\t\t\tpromiseWithResolvers.reject()\n\t\t\t}\n\t\t},\n\t)\n\n\treturn promiseWithResolvers.promise\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport { type DAVResult, type FileStat, type ResponseDataDetailed, type WebDAVClient, parseStat, parseXML } from 'webdav'\nimport { XMLBuilder } from 'fast-xml-parser'\nimport { basename, dirname } from 'path'\n\nimport { type Node } from '@nextcloud/files'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getClient, getDefaultPropfind, resultToNode } from '@nextcloud/files/dav'\n\nimport type { FileEncryptionInfo, Metadata, MetadataInfo } from '../models'\nimport logger from './logger.ts'\nimport { decryptMetadataInfo, getMetadataPrivateKey } from './metadataUtils'\nimport { getMetadata, getPrivateKey } from './api'\nimport { decryptPrivateKey } from './privateKeyUtils'\nimport { promptUserForMnemonic } from './mnemonicDialogs'\nimport { decryptWithAES, loadAESPrivateKey } from './crypto.ts'\nimport { base64ToBuffer } from './utils'\n\nlet originalFetch: typeof window.fetch\nconst davClient = getClient() as WebDAVClient\nlet privateKey: CryptoKey|undefined\nconst metadataCache: Record = {}\n\nexport function setupWebDavDecryptionProxy() {\n\toriginalFetch = window.fetch\n\tlogger.debug('Setting up WebDAV decryption proxy')\n\n\twindow.fetch = async (input: RequestInfo | URL, config: RequestInit = {}): Promise => {\n\t\tlet request = new Request(input, config)\n\n\t\tif (!(request.url.includes('/remote.php/') && (request.method === 'GET' || request.method === 'PROPFIND'))) {\n\t\t\treturn originalFetch(request)\n\t\t}\n\n\t\tlogger.debug(`Proxying ${request.method} ${request.url}`, { request })\n\n\t\tconst headers = new Headers(request.headers)\n\t\theaders.set('X-E2EE-SUPPORTED', 'true')\n\t\trequest = new Request(request, { headers })\n\n\t\tswitch (request.method) {\n\t\tcase 'PROPFIND':\n\t\t\treturn handlePropFind(request)\n\t\tcase 'GET':\n\t\tdefault:\n\t\t\treturn handleGet(request)\n\t\t}\n\t}\n}\n\nasync function handleGet(request: Request): Promise {\n\tconst path = new URL(request.url).pathname\n\n\tconst rootMetadata = await getRootMetadataForPath(path)\n\tif (rootMetadata === undefined) {\n\t\tlogger.debug('File is not part of e2ee folder', { path })\n\t\treturn originalFetch(request)\n\t}\n\n\tconst metadataInfo = await getMetadataInfoForPath(dirname(path), rootMetadata)\n\n\tconst fileInfo = metadataInfo.files[basename(request.url)]\n\tif (fileInfo === undefined) {\n\t\tlogger.debug('Could not find metadata info', { path, metadataInfo })\n\t\tthrow new Error('Could not find file in metadata')\n\t}\n\n\tlogger.debug('Fetching encrypted file', { request })\n\treturn await decryptFile(await originalFetch(request), fileInfo)\n}\n\nasync function handlePropFind(request: Request) {\n\tlogger.debug('Fetching raw PROPFIND', { request })\n\tconst response = await originalFetch(request)\n\tconst path = new URL(request.url).pathname\n\tconst body = await response.text()\n\tconst xml = await parseXML(body)\n\tconst stat = parseStat(xml, path, true)\n\n\tlet metadataPath = path\n\n\tif (stat.type === 'directory') {\n\t\tif (stat.props?.['is-encrypted'] !== 1) {\n\t\t\tlogger.debug('Folder is not e2ee', { xml })\n\t\t\treturn new Response(body, response)\n\t\t}\n\n\t\t// Update cache for this path\n\t\tmetadataCache[path] = await getMetadata(stat.props?.fileid as string)\n\n\t\tconst rootMetadata = await getRootMetadataForPath(metadataPath)\n\n\t\tif (rootMetadata === undefined) {\n\t\t\tlogger.debug('Cannot find root E2EE folder', { path })\n\t\t\treturn new Response(body, response)\n\t\t}\n\n\t\tconst metadataInfo = await getMetadataInfoForPath(metadataPath, rootMetadata)\n\n\t\tlet parentMetadataInfo: MetadataInfo|undefined\n\t\ttry {\n\t\t\tparentMetadataInfo = await getMetadataInfoForPath(dirname(metadataPath), rootMetadata)\n\t\t} catch (e) {}\n\n\t\treplacePlaceholdersInPropfind(xml, path, metadataInfo, parentMetadataInfo)\n\t}\n\n\tif (stat.type === 'file') {\n\t\tmetadataPath = dirname(path)\n\n\t\tconst rootMetadata = await getRootMetadataForPath(metadataPath)\n\n\t\tif (rootMetadata === undefined) {\n\t\t\tlogger.debug('Cannot find root E2EE folder', { path })\n\t\t\treturn new Response(body, response)\n\t\t}\n\n\t\treplacePlaceholdersInPropfind(xml, path, undefined, await getMetadataInfoForPath(metadataPath, rootMetadata))\n\t}\n\n\treturn new Response(new XMLBuilder().build(xml), response)\n}\n\nexport function replacePlaceholdersInPropfind(xml: DAVResult, folderPath: string, metadataInfo?: MetadataInfo, parentMetadataInfo?: MetadataInfo): void {\n\tlogger.debug('Updating PROPFIND info', { folderPath, metadataInfo, parentMetadataInfo, xml })\n\n\txml.multistatus.response.forEach((childNode) => {\n\t\tif (childNode.propstat === undefined) {\n\t\t\treturn\n\t\t}\n\n\t\tlet relevantMetadataInfo = metadataInfo\n\t\tif (childNode.href === folderPath && parentMetadataInfo) {\n\t\t\trelevantMetadataInfo = parentMetadataInfo\n\t\t}\n\t\tif (relevantMetadataInfo === undefined) {\n\t\t\treturn\n\t\t}\n\n\t\tconst identifier = childNode.propstat.prop.displayname\n\t\tlet name = identifier\n\n\t\tif (relevantMetadataInfo.files[identifier]) {\n\t\t\tname = relevantMetadataInfo.files[identifier].filename\n\t\t\tchildNode.propstat.prop.getcontenttype = relevantMetadataInfo.files[identifier].mimetype\n\t\t} else if (relevantMetadataInfo.folders[identifier]) {\n\t\t\tname = relevantMetadataInfo.folders[identifier]\n\t\t\tchildNode.propstat.prop.getcontenttype = 'httpd/unix-directory'\n\t\t}\n\n\t\tchildNode.propstat.prop.displayname = name\n\t\t// TODO: Enable more feature by keeping permissions\n\t\tchildNode.propstat.prop.permissions = (childNode.propstat.prop.permissions as string).replace(/(R)|(D)|(N)|(V)|(W)|(CK)/g, '')\n\t})\n}\n\nexport async function decryptFile(response: Response, fileEncryptionInfo: FileEncryptionInfo): Promise {\n\tconst decryptedFileContent = await decryptWithAES(\n\t\tnew Uint8Array(await response.arrayBuffer()),\n\t\tawait loadAESPrivateKey(base64ToBuffer(fileEncryptionInfo.key)),\n\t\t{ iv: base64ToBuffer(fileEncryptionInfo.nonce) },\n\t)\n\n\treturn new Response(decryptedFileContent, response)\n}\n\nasync function getMetadataInfoForPath(path: string, rootMetadata: Metadata): Promise {\n\tlogger.debug('Getting metadata info', { path })\n\n\tconst currentUser = getCurrentUser()\n\tif (!currentUser) {\n\t\tthrow new Error('No user logged in')\n\t}\n\n\tif (privateKey === undefined) {\n\t\tprivateKey = await decryptPrivateKey(await getPrivateKey(), await promptUserForMnemonic())\n\t}\n\n\treturn await decryptMetadataInfo(\n\t\tawait getMetadataForPath(path),\n\t\tawait getMetadataPrivateKey(rootMetadata, currentUser.uid, privateKey),\n\t)\n}\n\nasync function getFileIdForPath(path: string): Promise {\n\tlogger.debug('Getting file id', { path })\n\n\tconst response = (await davClient.stat(decodeURI(path).replace('remote.php/dav/', ''), { details: true, data: getDefaultPropfind() })) as ResponseDataDetailed\n\tconst node = resultToNode(response.data) as Node\n\n\tif (!node.fileid) {\n\t\tthrow new Error('File ID not found')\n\t}\n\n\treturn String(node.fileid)\n}\n\nasync function getMetadataForPath(path: string): Promise {\n\tlogger.debug('Getting metadata', { path, metadataCache })\n\n\tif (metadataCache[path]) {\n\t\treturn metadataCache[path]\n\t}\n\n\tmetadataCache[path] = await getMetadata(await getFileIdForPath(path))\n\n\treturn metadataCache[path]\n}\n\nasync function getRootMetadataForPath(path: string): Promise {\n\tlogger.debug('Getting root metadata', { path, metadataCache })\n\n\tconst metadataEntry = Object.entries(metadataCache)\n\t\t.filter(([, metadata]) => metadata.users !== undefined)\n\t\t.find(([rootPath]) => path.startsWith(rootPath))\n\n\tif (metadataEntry) {\n\t\treturn metadataEntry[1]\n\t}\n\n\twhile (path !== '/') {\n\t\tmetadataCache[path] ??= await getMetadata(await getFileIdForPath(path))\n\n\t\tif (metadataCache[path].users !== undefined) {\n\t\t\treturn metadataCache[path]\n\t\t}\n\n\t\tpath = dirname(path)\n\t}\n\n\treturn undefined\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { setupWebDavDecryptionProxy } from './services/webDavProxy.ts'\n\nsetupWebDavDecryptionProxy()\n"],"names":["t","e","o","n","i","r","s","a","u","c","l","global","d","m","g","y","v","h","b","w","p","f","x","N","P","A","O","E","T","j","S","$","C","I","k","process","en","F","oe","ne","re","Xt","ie","R","L","_","M","U","D","B","W","V","z","G","q","H","X","Z","Y","K","et","J","Q","tt","nt","rt","ot","it","st","at","ut","ct","lt","ht","pt","ft","dt","gt","mt","yt","vt","__privateAdd","_Z_instances","__publicField","#t","#e","#n","#r","#o","#i","#s","_a","#u","#c","#l","__privateSet","__privateGet","_b","_c","#p","__privateMethod","#h","#f","#d","_Z_static","_Z","bt","Gt","wt","xt","Nt","Pt","At","Ot","Et","Tt","jt","St","$t","Ct","It","kt","Rt","Ut","Lt","Ft","_t","Mt","Dt","define_process_env_default","Bt","Wt","Vt","zt","qt","Ht","Zt","Yt","Kt","Jt","Qt","te","ee","se","ae","ue","ce","le","fe","me","de","ge","pe","ye","__spreadProps","__spreadValues","he","ve","be","we","xe","Ne","Pe","Ae","Oe","Ee","Te","je","Ie","Se","$e","Ce","ke","Re","Le","_e","Me","Ue","Fe","De","Be","We","Ve","ze","Ge","qe","He","Xe","Ze","Je","Ye","Ke","Qe","tn","an","un","cn","ln","nameStartChar","nameChar","nameRegexp","regexName","getAllMatches","string","regex","matches","match","allmatches","len","index","isName","exports","obj","target","arrayMode","keys","util","require$$0","defaultOptions","validator","xmlData","options","tags","tagFound","reachedRoot","readPI","tagStartPos","readCommentAndCDATA","closingTag","tagName","validateTagName","msg","getErrorObject","getLineNumberForPosition","result","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","otg","openPos","afterAmp","validateAmpersand","isWhiteSpace","char","start","tagname","angleBracketsCount","doubleQuote","singleQuote","startChar","tagClosed","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","validateNumberAmpersand","count","code","message","lineNumber","lines","val","jPath","attrs","buildOptions","OptionsBuilder","XmlNode","key","node","xmlNode","readDocType","entities","hasBody","comment","exp","isEntity","readEntityExp","validateEntityName","isElement","isAttlist","isNotation","isComment","entityName","name","DocTypeReader","hexRegex","numRegex","consider","toNumber","str","trimmedStr","sign","leadingZeros","numTrimmedByZeros","trimZeros","eNotation","num","numStr","strnum","getIgnoreAttributesFn","ignoreAttributes","pattern","require$$1","require$$2","require$$3","require$$4","OrderedObjParser$1","addExternalEntities","parseXml","parseTextData","resolveNameSpace","buildAttributesMap","isItStopNode","replaceEntitiesValue","readStopNodeData","saveTextToParentTag","addChild","externalEntities","entKeys","ent","dontTrim","hasAttributes","isLeafNode","escapeEntities","newval","parseValue","prefix","attrsRegx","oldVal","aName","newVal","attrCollection","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","lastTagName","propIndex","tagData","readTagExp","childNode","endIndex","tagExp","rawTagName","attrExpPresent","lastTag","tagContent","entity","stopNodes","currentTagName","allNodesExp","stopNodePath","stopNodeExp","tagExpWithClosingIndex","closingChar","attrBoundary","ch","errMsg","closingIndex","removeNSPrefix","separatorIndex","startIndex","openTagCount","shouldParse","OrderedObjParser_1","OrderedObjParser","prettify","compress","arr","text","compressedObj","tagObj","property","propName","newJpath","isLeaf","isLeafTag","assignAttributes","attrMap","jpath","atrrName","textNodeName","propCount","node2json","XMLParser$1","validationOption","orderedObjParser","orderedResult","value","XMLParser_1","XMLParser","EOL","toXml","jArray","indentation","arrToStr","xmlStr","isPreviousElementTag","newJPath","tagText","isStopNode","attStr","attr_to_str","tempInd","piTextNodeName","newIdentation","tagStart","tagValue","attr","attrVal","textValue","orderedJs2Xml","buildFromOrderedJs","Builder","isAttribute","processTextOrObjNode","indentate","jObj","level","ajPath","arrLen","listTagVal","listTagAttr","item","Ks","object","tagEndExp","piClosingChar","closeTag","json2xml","XMLBuilder","fxp","encodePath","path","_defineProperty","_classPrivateFieldInitSpec","privateMap","_checkPrivateRedeclaration","privateCollection","_classPrivateFieldGet","receiver","descriptor","_classExtractFieldDescriptor","_classApplyDescriptorGet","_classPrivateFieldSet","_classApplyDescriptorSet","action","toStringTag","_internals","_promise","CancelablePromiseInternal","_ref","executor","internals","defaultInternals","promise","resolve","reject","onCancel","onfulfilled","onrejected","makeCancelable","createCallback","onfinally","runWhenCanceled","callback","callbacks","err","CancelablePromise","iterable","makeAllCancelable","cancelable","reason","isCancelablePromise","onResult","arg","resolvable","isPublicShare","loadState","getSharingToken","logger","getLoggerBuilder","Permission","Permission2","FileType","FileType2","isDavResource","source","davService","validateData","data","service","join","NodeStatus","NodeStatus2","Node","prop","origin","basename","displayname","extname","firstMatch","root","dirname","url","mtime","size","permissions","status","destination","oldBasename","basename2","attributes","File","Folder","parsePermissions","permString","defaultDavProperties","defaultDavNamespaces","getDavProperties","getDavNameSpaces","ns","getDefaultPropfind","getRootPath","getCurrentUser","defaultRootPath","getRemoteURL","generateRemoteUrl","defaultRemoteURL","getClient","remoteURL","headers","client","createClient","setHeaders","token","onRequestTokenUpdate","getRequestToken","getPatcher","headers2","resultToNode","filesRoot","userId","props","owner","id","crtime","nodeData","util$3","a2","i2","debug$1","args","debug_1","SEMVER_SPEC_VERSION","MAX_LENGTH$1","MAX_SAFE_INTEGER$1","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","constants","re$1","module","MAX_SAFE_COMPONENT_LENGTH2","MAX_SAFE_BUILD_LENGTH2","MAX_LENGTH2","debug2","re2","safeRe","src","t3","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","max","createToken","isGlobal","safe","getLogger","user","bufferToString","buffer","stringToBuffer","base64ToBuffer","base64Str","API_ROOT","Url","getPrivateKey","encryptedPrivateKeyInfo","axios","generateOcsUrl","encryptedPrivateKey","iv","salt","getMetadata","fileId","response","decryptWithAES","content","decryptWithRSA","loadAESPrivateKey","loadRSAPrivateKey","decryptMetadataInfo","metadata","metadataPrivateKey","encryptedMetadata","compressedMetadataInfo","unzipBuffer","decompressedStream","controller","getMetadataPrivateKey","privateKey","userInfo","encryptedMetadataPrivateKey","rawMetadataPrivateKey","PEM_HEADER","PEM_FOOTER","decryptPrivateKey","privateKeyInfo","mnemonic","mnemonicPrivateKey","mnemonicToPrivateKey","rawPrivateKey","loadPemKey","keyMaterial","pem","pemContents","_sfc_main","_sfc_render","_vm","$event","_sfc_staticRenderFns","__component__","normalizeComponent","AlertCircle","Check","NcButton","useModelMigration","GenRandomId","isValidLabel","ariaDescribedby","event","newValue","NcInputField","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Undo","register","t17","t48","NcInputFieldProps","Close","ArrowRight","predefinedLabels","NcTextField","ref","submit","emit","buttons","computed","promptUserForMnemonic","promiseWithResolvers","spawnDialog","MnemonicPromptDialog","originalFetch","davClient","metadataCache","setupWebDavDecryptionProxy","input","config","request","handlePropFind","handleGet","rootMetadata","getRootMetadataForPath","metadataInfo","getMetadataInfoForPath","fileInfo","decryptFile","body","xml","parseXML","stat","parseStat","metadataPath","parentMetadataInfo","replacePlaceholdersInPropfind","folderPath","relevantMetadataInfo","identifier","fileEncryptionInfo","decryptedFileContent","currentUser","getMetadataForPath","getFileIdForPath","metadataEntry","rootPath"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,25,26,27,28]} \ No newline at end of file