From 1d5cbcbc02670ef3304de5ded34beba3faebb761 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 22 Jan 2026 10:45:26 +0100 Subject: [PATCH 1/2] feat(deps): Add Nextcloud 34 support on master Signed-off-by: Joas Schilling --- .github/workflows/npm-audit-fix.yml | 1 + appinfo/info.xml | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- renovate.json | 8 ++++---- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/npm-audit-fix.yml b/.github/workflows/npm-audit-fix.yml index c72c4b4a6..bbfcc49d3 100644 --- a/.github/workflows/npm-audit-fix.yml +++ b/.github/workflows/npm-audit-fix.yml @@ -26,6 +26,7 @@ jobs: matrix: branches: - ${{ github.event.repository.default_branch }} + - 'stable33' - 'stable32' - 'stable31' diff --git a/appinfo/info.xml b/appinfo/info.xml index 665c5a774..c7f819e50 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -9,7 +9,7 @@ Viewer Simple file viewer with slideshow for media - 6.0.0-dev.0 + 7.0.0-dev.0 agpl John Molakvoæ Viewer @@ -17,7 +17,7 @@ https://github.com/nextcloud/viewer https://raw.githubusercontent.com/nextcloud/screenshots/master/apps/Viewer/viewer.png - + diff --git a/package-lock.json b/package-lock.json index 8f9f380b7..680b686c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "viewer", - "version": "6.0.0-dev.0", + "version": "7.0.0-dev.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "viewer", - "version": "6.0.0-dev.0", + "version": "7.0.0-dev.0", "license": "AGPL-3.0-or-later", "dependencies": { "@fontsource/roboto": "^5.2.6", diff --git a/package.json b/package.json index 40b7ddd25..9a7df99c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "viewer", - "version": "6.0.0-dev.0", + "version": "7.0.0-dev.0", "private": true, "description": "Simple file viewer with slideshow for media", "keywords": [ diff --git a/renovate.json b/renovate.json index f9bf8f410..d5eb7c355 100644 --- a/renovate.json +++ b/renovate.json @@ -19,9 +19,9 @@ "ignoreUnstable": false, "baseBranchPatterns": [ "master", + "stable33", "stable32", - "stable31", - "stable30" + "stable31" ], "enabledManagers": [ "npm" @@ -67,9 +67,9 @@ "major" ], "matchBaseBranches": [ + "stable33", "stable32", - "stable31", - "stable30" + "stable31" ], "enabled": false }, From a8317ca7c552e18d84dfdf08393ffc29b8d97584 Mon Sep 17 00:00:00 2001 From: nextcloud-command Date: Thu, 22 Jan 2026 14:35:19 +0000 Subject: [PATCH 2/2] chore(assets): Recompile assets Signed-off-by: nextcloud-command --- js/previewUtils-Bz9VYbC0.chunk.mjs.license | 2 +- js/previewUtils-Bz9VYbC0.chunk.mjs.map.license | 2 +- js/viewer-init.mjs | 2 +- js/viewer-init.mjs.license | 2 +- js/viewer-init.mjs.map.license | 2 +- js/viewer-main.mjs.license | 2 +- js/viewer-main.mjs.map.license | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/js/previewUtils-Bz9VYbC0.chunk.mjs.license b/js/previewUtils-Bz9VYbC0.chunk.mjs.license index 863b77c56..9a1947527 100644 --- a/js/previewUtils-Bz9VYbC0.chunk.mjs.license +++ b/js/previewUtils-Bz9VYbC0.chunk.mjs.license @@ -137,7 +137,7 @@ This file is generated from multiple sources. Included packages: - version: 1.12.0 - license: MIT - viewer - - version: 6.0.0-dev.0 + - version: 7.0.0-dev.0 - license: AGPL-3.0-or-later - vite - version: 5.4.19 diff --git a/js/previewUtils-Bz9VYbC0.chunk.mjs.map.license b/js/previewUtils-Bz9VYbC0.chunk.mjs.map.license index 863b77c56..9a1947527 100644 --- a/js/previewUtils-Bz9VYbC0.chunk.mjs.map.license +++ b/js/previewUtils-Bz9VYbC0.chunk.mjs.map.license @@ -137,7 +137,7 @@ This file is generated from multiple sources. Included packages: - version: 1.12.0 - license: MIT - viewer - - version: 6.0.0-dev.0 + - version: 7.0.0-dev.0 - license: AGPL-3.0-or-later - vite - version: 5.4.19 diff --git a/js/viewer-init.mjs b/js/viewer-init.mjs index 7bef378f2..b7ad98920 100644 --- a/js/viewer-init.mjs +++ b/js/viewer-init.mjs @@ -1,5 +1,5 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.OC.filePath('viewer', '', 'js/index-IGi9b9Ii.chunk.mjs'),window.OC.filePath('viewer', '', 'js/previewUtils-Bz9VYbC0.chunk.mjs'),window.OC.filePath('viewer', '', 'css/previewUtils-6cpbKhU6.chunk.css')])))=>i.map(i=>d[i]); -import{K as Nr,b as ei,L as it,M as ko,V as oe,N as is,O as Le,n as It,P as Go,Q as Ho,R as P,o as Ue,S as Ea,T as Uo,s as ns,m as as,U as jo,W as Wa,X as Po,Y as Ka,Z as mi,$ as qn,a0 as zo,a1 as Da,a2 as je,a3 as Vo,a4 as Sa,a5 as $o,a6 as ss,a7 as Qo,a8 as Xn,a9 as ma,aa as os,ab as ls,ac as Wo,ad as Ko,D as vn,E as yn,ae as qo,af as us,ag as Ar,ah as Xo,ai as Jo,aj as tl,ak as el,al as cs,am as rl,an as il,G as Er,t as ga,ao as Ts,ap as nl,aq as ds,ar as al,as as sl,at as ol,au as ll,av as ul,aw as cl,ax as hs,aB as Tl,aC as dl,aD as hl,aE as fl,aF as pl,aG as Al,aH as El,aI as Dl,aJ as Sl,aK as fs,aL as ps,aM as ml,aN as gl,aO as Fl,aP as Rl,aQ as Ol,aR as Nl,aS as vl,aT as As,aU as yl,aV as qa,aW as bl,aX as Yl,aY as Ml,aZ as wl,a_ as _l,a$ as Bl,b0 as Zl,b1 as Cl,b2 as Ll,b3 as ni,J as w,b4 as ur,v as re,b5 as xl,w as Xa,b6 as Il,x as bn,b7 as kl,b8 as Gl,_ as Fa,b9 as Yn,g as Hl,d as Ul,ba as jl,bb as Pl,e as zl,p as Vl,bc as $l}from"./previewUtils-Bz9VYbC0.chunk.mjs";import Ql from"./NcActionButton-CN5NMb08.chunk.mjs";import Wl from"./NcActionLink-C2XlZe2R.chunk.mjs";import{A as Es}from"./actionText-fFcUPi2g-gjw6zxAU.chunk.mjs";const rs="viewer",Io="6.0.0-dev.0";function Kl(){if(typeof globalThis.firstDay<"u")return globalThis.firstDay;const e=new Intl.Locale(Nr()),r=e.getWeekInfo?.()??e.weekInfo;return r?r.firstDay%7:1}function ql(){if(typeof globalThis.dayNames<"u")return globalThis.dayNames;const e=Nr();return[new Date(1970,0,4).toLocaleDateString(e,{weekday:"long"}),new Date(1970,0,5).toLocaleDateString(e,{weekday:"long"}),new Date(1970,0,6).toLocaleDateString(e,{weekday:"long"}),new Date(1970,0,7).toLocaleDateString(e,{weekday:"long"}),new Date(1970,0,8).toLocaleDateString(e,{weekday:"long"}),new Date(1970,0,9).toLocaleDateString(e,{weekday:"long"}),new Date(1970,0,10).toLocaleDateString(e,{weekday:"long"})]}function Xl(){if(typeof globalThis.dayNamesShort<"u")return globalThis.dayNamesShort;const e=Nr();return[new Date(1970,0,4).toLocaleDateString(e,{weekday:"short"}),new Date(1970,0,5).toLocaleDateString(e,{weekday:"short"}),new Date(1970,0,6).toLocaleDateString(e,{weekday:"short"}),new Date(1970,0,7).toLocaleDateString(e,{weekday:"short"}),new Date(1970,0,8).toLocaleDateString(e,{weekday:"short"}),new Date(1970,0,9).toLocaleDateString(e,{weekday:"short"}),new Date(1970,0,10).toLocaleDateString(e,{weekday:"short"})]}function Jl(){if(typeof globalThis.dayNamesMin<"u")return globalThis.dayNamesMin;const e=Nr();return[new Date(1970,0,4).toLocaleDateString(e,{weekday:"narrow"}),new Date(1970,0,5).toLocaleDateString(e,{weekday:"narrow"}),new Date(1970,0,6).toLocaleDateString(e,{weekday:"narrow"}),new Date(1970,0,7).toLocaleDateString(e,{weekday:"narrow"}),new Date(1970,0,8).toLocaleDateString(e,{weekday:"narrow"}),new Date(1970,0,9).toLocaleDateString(e,{weekday:"narrow"}),new Date(1970,0,10).toLocaleDateString(e,{weekday:"narrow"})]}function tu(){if(typeof globalThis.monthNames<"u")return globalThis.monthNames;const e=Nr();return[new Date(1970,0).toLocaleDateString(e,{month:"long"}),new Date(1970,1).toLocaleDateString(e,{month:"long"}),new Date(1970,2).toLocaleDateString(e,{month:"long"}),new Date(1970,3).toLocaleDateString(e,{month:"long"}),new Date(1970,4).toLocaleDateString(e,{month:"long"}),new Date(1970,5).toLocaleDateString(e,{month:"long"}),new Date(1970,6).toLocaleDateString(e,{month:"long"}),new Date(1970,7).toLocaleDateString(e,{month:"long"}),new Date(1970,8).toLocaleDateString(e,{month:"long"}),new Date(1970,9).toLocaleDateString(e,{month:"long"}),new Date(1970,10).toLocaleDateString(e,{month:"long"}),new Date(1970,11).toLocaleDateString(e,{month:"long"})]}function eu(){if(typeof globalThis.monthNamesShort<"u")return globalThis.monthNamesShort;const e=Nr();return[new Date(1970,0).toLocaleDateString(e,{month:"short"}),new Date(1970,1).toLocaleDateString(e,{month:"short"}),new Date(1970,2).toLocaleDateString(e,{month:"short"}),new Date(1970,3).toLocaleDateString(e,{month:"short"}),new Date(1970,4).toLocaleDateString(e,{month:"short"}),new Date(1970,5).toLocaleDateString(e,{month:"short"}),new Date(1970,6).toLocaleDateString(e,{month:"short"}),new Date(1970,7).toLocaleDateString(e,{month:"short"}),new Date(1970,8).toLocaleDateString(e,{month:"short"}),new Date(1970,9).toLocaleDateString(e,{month:"short"}),new Date(1970,10).toLocaleDateString(e,{month:"short"}),new Date(1970,11).toLocaleDateString(e,{month:"short"})]}function ru(e,r,i){const n=`#initial-state-${e}-${r}`;if(window._nc_initial_state?.has(n))return window._nc_initial_state.get(n);window._nc_initial_state||(window._nc_initial_state=new Map);const a=document.querySelector(n);if(a===null)throw new Error(`Could not find initial state ${r} of ${e}`);try{const s=JSON.parse(atob(a.value));return window._nc_initial_state.set(n,s),s}catch(s){throw console.error("[@nextcloud/initial-state] Could not parse initial state",{key:r,app:e,error:s}),new Error(`Could not parse initial state ${r} of ${e}`,{cause:s})}}function Tn(){try{return ru("core","capabilities")}catch{return console.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}}function ai(e,r,i){e.$set(e.$data._asyncComputed[r],"state",i),e.$set(e.$data._asyncComputed[r],"updating",i==="updating"),e.$set(e.$data._asyncComputed[r],"error",i==="error"),e.$set(e.$data._asyncComputed[r],"success",i==="success")}function iu(e){return typeof e=="function"?e:e.get}function Jn(e,r){return Object.prototype.hasOwnProperty.call(e,r)}function Ra(e){return Jn(e,"lazy")&&e.lazy}function nu(e,r){return e[Oa+r]}var Oa="async_computed$lazy_active$",Pr="async_computed$lazy_data$";function au(e,r,i){e[Oa+r]=!1,e[Pr+r]=i}function su(e){return{get:function(){return this[Oa+e]=!0,this[Pr+e]},set:function(r){this[Pr+e]=r}}}function ou(e,r,i){e[Pr+r]=i}function lu(e,r){return e[Pr+r]}var uu=function(e){return function(){var r=this;return e.watch.forEach(function(i){var n=i.split(".");if(n.length===1)r[i];else try{var a=r;n.forEach(function(s){a=a[s]})}catch(s){throw console.error("AsyncComputed: bad path: ",i),s}}),e.get.call(this)}},cu=function(e){return function(){return e.watch.call(this),e.get.call(this)}};function Tu(e){if(typeof e.watch=="function")return cu(e);if(Array.isArray(e.watch))return e.watch.forEach(function(r){if(typeof r!="string")throw new Error("AsyncComputed: watch elemnts must be strings")}),uu(e);throw Error("AsyncComputed: watch should be function or an array")}var Ds=typeof Symbol=="function"?Symbol("did-not-update"):{},du=function(e,r){return function(){return e.shouldUpdate.call(this)?r.call(this):Ds}},hu=function(e){return Ds===e},Ss="_async_computed$",dn={install:function(e,r){r=r||{},e.config.optionMergeStrategies.asyncComputed=e.config.optionMergeStrategies.computed,e.mixin({data:function(){return{_asyncComputed:{}}},computed:{$asyncComputed:function(){return this.$data._asyncComputed}},beforeCreate:function(){var i=this.$options.asyncComputed||{};if(Object.keys(i).length){for(var n in i){var a=Au(n,i[n]);this.$options.computed[Ss+n]=a}this.$options.data=pu(this.$options,r)}},created:function(){for(var i in this.$options.asyncComputed||{}){var n=this.$options.asyncComputed[i],a=ms.call(this,n,r);Ra(n)?ou(this,i,a):this[i]=a}for(var s in this.$options.asyncComputed||{})fu(this,s,r,e)}})}};function fu(e,r,i,n){var a=0,s=function(l){var u=++a;hu(l)||((!l||!l.then)&&(l=Promise.resolve(l)),ai(e,r,"updating"),l.then(function(o){u===a&&(ai(e,r,"success"),e[r]=o)}).catch(function(o){if(u===a&&(ai(e,r,"error"),n.set(e.$data._asyncComputed[r],"exception",o),i.errorHandler!==!1)){var T=i.errorHandler===void 0?console.error.bind(console,"Error evaluating async computed property:"):i.errorHandler;i.useRawError?T(o,e,o.stack):T(o.stack)}}))};n.set(e.$data._asyncComputed,r,{exception:null,update:function(){e._isDestroyed||s(iu(e.$options.asyncComputed[r]).apply(e))}}),ai(e,r,"updating"),e.$watch(Ss+r,s,{immediate:!0})}function pu(e,r){var i=e.data,n=e.asyncComputed||{};return function(a){var s=(typeof i=="function"?i.call(this,a):i)||{};for(var l in n){var u=this.$options.asyncComputed[l],o=ms.call(this,u,r);Ra(u)?(au(s,l,o),this.$options.computed[l]=su(l)):s[l]=o}return s}}function Au(e,r){if(typeof r=="function")return r;var i=r.get;if(Jn(r,"watch")&&(i=Tu(r)),Jn(r,"shouldUpdate")&&(i=du(r,i)),Ra(r)){var n=i;i=function(){return nu(this,e)?n.call(this):lu(this,e)}}return i}function ms(e,r){var i=null;return"default"in e?i=e.default:"default"in r&&(i=r.default),typeof i=="function"?i.call(this):i}typeof window<"u"&&window.Vue&&window.Vue.use(dn);const Eu={name:"PlayCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Du=function(){var e=this,r=e._self._c;return r("span",e._b({staticClass:"material-design-icon play-circle-outline-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[r("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[r("path",{attrs:{d:"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M10,16.5L16,12L10,7.5V16.5Z"}},[e.title?r("title",[e._v(e._s(e.title))]):e._e()])])])},Su=[],mu=ei(Eu,Du,Su,!1,null,null);const gu=mu.exports;it();function ri(e,r,i=!1){const n=ko().proxy;return i&&n.$props[e]===void 0&&n.$props.modelValue===void 0&&oe.util.warn(`Missing required prop: "modelValue" or old "${e}"`),is({get(){return n.$props[e]!==void 0?n.$props[e]:n.$props.modelValue},set(a){n.$emit("update:modelValue",a),n.$emit("update:model-value",a),n.$emit(r,a)}})}class hn{static fromString(r){return new hn(r)}constructor(r){this.value=r}icaltype="binary";decodeValue(){return this._b64_decode(this.value)}setEncodedValue(r){this.value=this._b64_encode(r)}_b64_encode(r){let i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n,a,s,l,u,o,T,c,d=0,h=0,f="",D=[];if(!r)return r;do n=r.charCodeAt(d++),a=r.charCodeAt(d++),s=r.charCodeAt(d++),c=n<<16|a<<8|s,l=c>>18&63,u=c>>12&63,o=c>>6&63,T=c&63,D[h++]=i.charAt(l)+i.charAt(u)+i.charAt(o)+i.charAt(T);while(d>16&255,a=c>>8&255,s=c&255,o==64?D[h++]=String.fromCharCode(n):T==64?D[h++]=String.fromCharCode(n,a):D[h++]=String.fromCharCode(n,a,s);while(dn)-(i12||(a=n[r],r==2&&(a+=_.isLeapYear(i))),a}static isLeapYear(r){return r<=1752?r%4==0:r%4==0&&r%100!=0||r%400==0}static fromDayOfYear(r,i){let n=i,a=r,s=new _;s.auto_normalize=!1;let l=_.isLeapYear(n)?1:0;if(a<1)return n--,l=_.isLeapYear(n)?1:0,a+=_.daysInYearPassedMonth[l][12],_.fromDayOfYear(a,n);if(a>_.daysInYearPassedMonth[l][12])return l=_.isLeapYear(n)?1:0,a-=_.daysInYearPassedMonth[l][12],n++,_.fromDayOfYear(a,n);s.year=n,s.isDate=!0;for(let u=11;u>=0;u--)if(a>_.daysInYearPassedMonth[l][u]){s.month=u+1,s.day=a-_.daysInYearPassedMonth[l][u];break}return s.auto_normalize=!0,s}static fromStringv2(r){return new _({year:parseInt(r.slice(0,4),10),month:parseInt(r.slice(5,7),10),day:parseInt(r.slice(8,10),10),isDate:!0})}static fromDateString(r){return new _({year:Gt(r.slice(0,4)),month:Gt(r.slice(5,7)),day:Gt(r.slice(8,10)),isDate:!0})}static fromDateTimeString(r,i){if(r.length<19)throw new Error('invalid date-time value: "'+r+'"');let n,a;r[19]&&r[19]==="Z"?n=ft.utcTimezone:i&&(a=i.getParameter("tzid"),i.parent&&(i.parent.name==="standard"||i.parent.name==="daylight"?n=ft.localTimezone:a&&(n=i.parent.getTimeZoneByID(a))));const s={year:Gt(r.slice(0,4)),month:Gt(r.slice(5,7)),day:Gt(r.slice(8,10)),hour:Gt(r.slice(11,13)),minute:Gt(r.slice(14,16)),second:Gt(r.slice(17,19))};return a&&!n&&(s.timezone=a),new _(s,n)}static fromString(r,i){return r.length>10?_.fromDateTimeString(r,i):_.fromDateString(r)}static fromJSDate(r,i){return new _().fromJSDate(r,i)}static fromData=function(r,i){return new _().fromData(r,i)};static now(){return _.fromJSDate(new Date,!1)}static weekOneStarts(r,i){let n=_.fromData({year:r,month:1,day:1,isDate:!0}),a=n.dayOfWeek(),s=i||_.DEFAULT_WEEK_START;return a>_.THURSDAY&&(n.day+=7),s>_.THURSDAY&&(n.day-=7),n.day-=a-s,n}static getDominicalLetter(r){let i="GFEDCBA",n=(r+(r/4|0)+(r/400|0)-(r/100|0)-1)%7;return _.isLeapYear(r)?i[(n+6)%7]+i[n]:i[n]}static#t=null;static get epochTime(){return this.#t||(this.#t=_.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0,isDate:!1,timezone:"Z"})),this.#t}static _cmp_attr(r,i,n){return r[n]>i[n]?1:r[n]=0){u.day=1,s!=0&&s--,l=u.day;let o=u.dayOfWeek(),T=r-o;T<0&&(T+=7),l+=T,l-=r,a=r}else{u.day=n;let o=u.dayOfWeek();s++,a=o-r,a<0&&(a+=7),a=n-a}return a+=s*7,l+a}isNthWeekDay(r,i){let n=this.dayOfWeek();return i===0&&n===r||this.nthWeekDay(r,i)===this.day}weekNumber(r){let i=(this.year<<12)+(this.month<<8)+(this.day<<3)+r;if(i in _._wnCache)return _._wnCache[i];let n,a=this.clone();a.isDate=!0;let s=this.year;a.month==12&&a.day>25?(n=_.weekOneStarts(s+1,r),a.compare(n)<0?n=_.weekOneStarts(s,r):s++):(n=_.weekOneStarts(s,r),a.compare(n)<0&&(n=_.weekOneStarts(--s,r)));let l=a.subtractDate(n).toSeconds()/86400,u=_t(l/7)+1;return _._wnCache[i]=u,u}addDuration(r){let i=r.isNegative?-1:1,n=this.second,a=this.minute,s=this.hour,l=this.day;n+=i*r.seconds,a+=i*r.minutes,s+=i*r.hours,l+=i*r.days,l+=i*7*r.weeks,this.second=n,this.minute=a,this.hour=s,this.day=l,this._cachedUnixTime=null}subtractDate(r){let i=this.toUnixTime()+this.utcOffset(),n=r.toUnixTime()+r.utcOffset();return jt.fromSeconds(i-n)}subtractDateTz(r){let i=this.toUnixTime(),n=r.toUnixTime();return jt.fromSeconds(i-n)}compare(r){let i=this.toUnixTime(),n=r.toUnixTime();return i>n?1:n>i?-1:0}compareDateOnlyTz(r,i){let n=this.convertToZone(i),a=r.convertToZone(i),s=0;return(s=_._cmp_attr(n,a,"year"))!=0||(s=_._cmp_attr(n,a,"month"))!=0||(s=_._cmp_attr(n,a,"day"))!=0,s}convertToZone(r){let i=this.clone(),n=this.zone.tzid==r.tzid;return!this.isDate&&!n&&ft.convert_time(i,this.zone,r),i.zone=r,i}utcOffset(){return this.zone==ft.localTimezone||this.zone==ft.utcTimezone?0:this.zone.utcOffset(this)}toICALString(){let r=this.toString();return r.length>10?Bt.icalendar.value["date-time"].toICAL(r):Bt.icalendar.value.date.toICAL(r)}toString(){let r=this.year+"-"+Qt(this.month)+"-"+Qt(this.day);return this.isDate||(r+="T"+Qt(this.hour)+":"+Qt(this.minute)+":"+Qt(this.second),this.zone===ft.utcTimezone&&(r+="Z")),r}toJSDate(){return this.zone==ft.localTimezone?this.isDate?new Date(this.year,this.month-1,this.day):new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.second,0):new Date(this.toUnixTime()*1e3)}_normalize(){return this._time.isDate&&(this._time.hour=0,this._time.minute=0,this._time.second=0),this.adjust(0,0,0,0),this}adjust(r,i,n,a,s){let l,u,o=0,T=0,c,d,h,f,D,E=s||this._time;if(E.isDate||(c=E.second+a,E.second=c%60,l=_t(c/60),E.second<0&&(E.second+=60,l--),d=E.minute+n+l,E.minute=d%60,u=_t(d/60),E.minute<0&&(E.minute+=60,u--),h=E.hour+i+u,E.hour=h%24,o=_t(h/24),E.hour<0&&(E.hour+=24,o--)),E.month>12?T=_t((E.month-1)/12):E.month<1&&(T=_t(E.month/12)-1),E.year+=T,E.month-=12*T,f=E.day+r+o,f>0)for(;D=_.daysInMonth(E.month,E.year),!(f<=D);)E.month++,E.month>12&&(E.year++,E.month=1),f-=D;else for(;f<=0;)E.month==1?(E.year--,E.month=12):E.month--,f+=_.daysInMonth(E.month,E.year);return E.day=f,this._cachedUnixTime=null,this}fromUnixTime(r){this.zone=ft.utcTimezone;let i=new Date(r*1e3);this.year=i.getUTCFullYear(),this.month=i.getUTCMonth()+1,this.day=i.getUTCDate(),this._time.isDate?(this.hour=0,this.minute=0,this.second=0):(this.hour=i.getUTCHours(),this.minute=i.getUTCMinutes(),this.second=i.getUTCSeconds()),this._cachedUnixTime=null}toUnixTime(){if(this._cachedUnixTime!==null)return this._cachedUnixTime;let r=this.utcOffset(),i=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second-r);return this._cachedUnixTime=i/1e3,this._cachedUnixTime}toJSON(){let r=["year","month","day","hour","minute","second","isDate"],i=Object.create(null),n=0,a=r.length,s;for(;n>18&63,u=c>>12&63,o=c>>6&63,T=c&63,D[h++]=i.charAt(l)+i.charAt(u)+i.charAt(o)+i.charAt(T);while(d>16&255,a=c>>8&255,s=c&255,o==64?D[h++]=String.fromCharCode(n):T==64?D[h++]=String.fromCharCode(n,a):D[h++]=String.fromCharCode(n,a,s);while(dn)-(i12||(a=n[r],r==2&&(a+=_.isLeapYear(i))),a}static isLeapYear(r){return r<=1752?r%4==0:r%4==0&&r%100!=0||r%400==0}static fromDayOfYear(r,i){let n=i,a=r,s=new _;s.auto_normalize=!1;let l=_.isLeapYear(n)?1:0;if(a<1)return n--,l=_.isLeapYear(n)?1:0,a+=_.daysInYearPassedMonth[l][12],_.fromDayOfYear(a,n);if(a>_.daysInYearPassedMonth[l][12])return l=_.isLeapYear(n)?1:0,a-=_.daysInYearPassedMonth[l][12],n++,_.fromDayOfYear(a,n);s.year=n,s.isDate=!0;for(let u=11;u>=0;u--)if(a>_.daysInYearPassedMonth[l][u]){s.month=u+1,s.day=a-_.daysInYearPassedMonth[l][u];break}return s.auto_normalize=!0,s}static fromStringv2(r){return new _({year:parseInt(r.slice(0,4),10),month:parseInt(r.slice(5,7),10),day:parseInt(r.slice(8,10),10),isDate:!0})}static fromDateString(r){return new _({year:Gt(r.slice(0,4)),month:Gt(r.slice(5,7)),day:Gt(r.slice(8,10)),isDate:!0})}static fromDateTimeString(r,i){if(r.length<19)throw new Error('invalid date-time value: "'+r+'"');let n,a;r[19]&&r[19]==="Z"?n=ft.utcTimezone:i&&(a=i.getParameter("tzid"),i.parent&&(i.parent.name==="standard"||i.parent.name==="daylight"?n=ft.localTimezone:a&&(n=i.parent.getTimeZoneByID(a))));const s={year:Gt(r.slice(0,4)),month:Gt(r.slice(5,7)),day:Gt(r.slice(8,10)),hour:Gt(r.slice(11,13)),minute:Gt(r.slice(14,16)),second:Gt(r.slice(17,19))};return a&&!n&&(s.timezone=a),new _(s,n)}static fromString(r,i){return r.length>10?_.fromDateTimeString(r,i):_.fromDateString(r)}static fromJSDate(r,i){return new _().fromJSDate(r,i)}static fromData=function(r,i){return new _().fromData(r,i)};static now(){return _.fromJSDate(new Date,!1)}static weekOneStarts(r,i){let n=_.fromData({year:r,month:1,day:1,isDate:!0}),a=n.dayOfWeek(),s=i||_.DEFAULT_WEEK_START;return a>_.THURSDAY&&(n.day+=7),s>_.THURSDAY&&(n.day-=7),n.day-=a-s,n}static getDominicalLetter(r){let i="GFEDCBA",n=(r+(r/4|0)+(r/400|0)-(r/100|0)-1)%7;return _.isLeapYear(r)?i[(n+6)%7]+i[n]:i[n]}static#t=null;static get epochTime(){return this.#t||(this.#t=_.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0,isDate:!1,timezone:"Z"})),this.#t}static _cmp_attr(r,i,n){return r[n]>i[n]?1:r[n]=0){u.day=1,s!=0&&s--,l=u.day;let o=u.dayOfWeek(),T=r-o;T<0&&(T+=7),l+=T,l-=r,a=r}else{u.day=n;let o=u.dayOfWeek();s++,a=o-r,a<0&&(a+=7),a=n-a}return a+=s*7,l+a}isNthWeekDay(r,i){let n=this.dayOfWeek();return i===0&&n===r||this.nthWeekDay(r,i)===this.day}weekNumber(r){let i=(this.year<<12)+(this.month<<8)+(this.day<<3)+r;if(i in _._wnCache)return _._wnCache[i];let n,a=this.clone();a.isDate=!0;let s=this.year;a.month==12&&a.day>25?(n=_.weekOneStarts(s+1,r),a.compare(n)<0?n=_.weekOneStarts(s,r):s++):(n=_.weekOneStarts(s,r),a.compare(n)<0&&(n=_.weekOneStarts(--s,r)));let l=a.subtractDate(n).toSeconds()/86400,u=_t(l/7)+1;return _._wnCache[i]=u,u}addDuration(r){let i=r.isNegative?-1:1,n=this.second,a=this.minute,s=this.hour,l=this.day;n+=i*r.seconds,a+=i*r.minutes,s+=i*r.hours,l+=i*r.days,l+=i*7*r.weeks,this.second=n,this.minute=a,this.hour=s,this.day=l,this._cachedUnixTime=null}subtractDate(r){let i=this.toUnixTime()+this.utcOffset(),n=r.toUnixTime()+r.utcOffset();return jt.fromSeconds(i-n)}subtractDateTz(r){let i=this.toUnixTime(),n=r.toUnixTime();return jt.fromSeconds(i-n)}compare(r){let i=this.toUnixTime(),n=r.toUnixTime();return i>n?1:n>i?-1:0}compareDateOnlyTz(r,i){let n=this.convertToZone(i),a=r.convertToZone(i),s=0;return(s=_._cmp_attr(n,a,"year"))!=0||(s=_._cmp_attr(n,a,"month"))!=0||(s=_._cmp_attr(n,a,"day"))!=0,s}convertToZone(r){let i=this.clone(),n=this.zone.tzid==r.tzid;return!this.isDate&&!n&&ft.convert_time(i,this.zone,r),i.zone=r,i}utcOffset(){return this.zone==ft.localTimezone||this.zone==ft.utcTimezone?0:this.zone.utcOffset(this)}toICALString(){let r=this.toString();return r.length>10?Bt.icalendar.value["date-time"].toICAL(r):Bt.icalendar.value.date.toICAL(r)}toString(){let r=this.year+"-"+Qt(this.month)+"-"+Qt(this.day);return this.isDate||(r+="T"+Qt(this.hour)+":"+Qt(this.minute)+":"+Qt(this.second),this.zone===ft.utcTimezone&&(r+="Z")),r}toJSDate(){return this.zone==ft.localTimezone?this.isDate?new Date(this.year,this.month-1,this.day):new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.second,0):new Date(this.toUnixTime()*1e3)}_normalize(){return this._time.isDate&&(this._time.hour=0,this._time.minute=0,this._time.second=0),this.adjust(0,0,0,0),this}adjust(r,i,n,a,s){let l,u,o=0,T=0,c,d,h,f,D,E=s||this._time;if(E.isDate||(c=E.second+a,E.second=c%60,l=_t(c/60),E.second<0&&(E.second+=60,l--),d=E.minute+n+l,E.minute=d%60,u=_t(d/60),E.minute<0&&(E.minute+=60,u--),h=E.hour+i+u,E.hour=h%24,o=_t(h/24),E.hour<0&&(E.hour+=24,o--)),E.month>12?T=_t((E.month-1)/12):E.month<1&&(T=_t(E.month/12)-1),E.year+=T,E.month-=12*T,f=E.day+r+o,f>0)for(;D=_.daysInMonth(E.month,E.year),!(f<=D);)E.month++,E.month>12&&(E.year++,E.month=1),f-=D;else for(;f<=0;)E.month==1?(E.year--,E.month=12):E.month--,f+=_.daysInMonth(E.month,E.year);return E.day=f,this._cachedUnixTime=null,this}fromUnixTime(r){this.zone=ft.utcTimezone;let i=new Date(r*1e3);this.year=i.getUTCFullYear(),this.month=i.getUTCMonth()+1,this.day=i.getUTCDate(),this._time.isDate?(this.hour=0,this.minute=0,this.second=0):(this.hour=i.getUTCHours(),this.minute=i.getUTCMinutes(),this.second=i.getUTCSeconds()),this._cachedUnixTime=null}toUnixTime(){if(this._cachedUnixTime!==null)return this._cachedUnixTime;let r=this.utcOffset(),i=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second-r);return this._cachedUnixTime=i/1e3,this._cachedUnixTime}toJSON(){let r=["year","month","day","hour","minute","second","isDate"],i=Object.create(null),n=0,a=r.length,s;for(;n1)throw new Ke("invalid ical body. component began but did not end");return r=null,i.length==1?i[0]:i}ut.property=function(e,r){let i={component:[[],[]],designSet:r||Bt.defaultSet};return ut._handleContentLine(e,i),i.component[1][0]},ut.component=function(e){return ut(e)};class Ke extends Error{name=this.constructor.name}ut.ParserError=Ke,ut._handleContentLine=function(e,r){let i=e.indexOf(si),n=e.indexOf(Mn),a,s,l,u,o={};n!==-1&&i!==-1&&n>i&&(n=-1);let T;if(n!==-1){if(l=e.slice(0,Math.max(0,n)).toLowerCase(),T=ut._parseParameters(e.slice(Math.max(0,n)),0,r.designSet),T[2]==-1)throw new Ke("Invalid parameters in '"+e+"'");if(o=T[0],a=T[1].length+T[2]+n,(s=e.slice(Math.max(0,a)).indexOf(si))!==-1)u=e.slice(Math.max(0,a+s+1));else throw new Ke("Missing parameter value in '"+e+"'")}else if(i!==-1){if(l=e.slice(0,Math.max(0,i)).toLowerCase(),u=e.slice(Math.max(0,i+1)),l==="begin"){let N=[u.toLowerCase(),[],[]];r.stack.length===1?r.component.push(N):r.component[2].push(N),r.stack.push(r.component),r.component=N,r.designSet||(r.designSet=Bt.getDesignSet(r.component[0]));return}else if(l==="end"){r.component=r.stack.pop();return}}else throw new Ke('invalid line (no token ";" or ":") "'+e+'"');let c,d=!1,h=!1,f,D,E;r.designSet.propertyGroups&&l.indexOf(".")!==-1?(D=l.split("."),o.group=D[0],E=D[1]):E=l,E in r.designSet.property&&(f=r.designSet.property[E],"multiValue"in f&&(d=f.multiValue),"structuredValue"in f&&(h=f.structuredValue),u&&"detectType"in f&&(c=f.detectType(u))),c||("value"in o?c=o.value.toLowerCase():f?c=f.defaultType:c=yu),delete o.value;let R;d&&h?(u=ut._parseMultiValue(u,h,c,[],d,r.designSet,h),R=[E,o,c,u]):d?(R=[E,o,c],ut._parseMultiValue(u,d,c,R,null,r.designSet,!1)):h?(u=ut._parseMultiValue(u,h,c,[],null,r.designSet,h),R=[E,o,c,u]):(u=ut._parseValue(u,c,r.designSet,!1),R=[E,o,c,u]),r.component[0]==="vcard"&&r.component[1].length===0&&!(l==="version"&&u==="4.0")&&(r.designSet=Bt.getDesignSet("vcard3")),r.component[1].push(R)},ut._parseValue=function(e,r,i,n){return r in i.value&&"fromICAL"in i.value[r]?i.value[r].fromICAL(e,n):e},ut._parseParameters=function(e,r,i){let n=r,a=0,s=vu,l={},u,o,T,c=-1,d,h,f;for(;a!==!1&&(a=e.indexOf(s,a+1))!==-1;){if(u=e.slice(n+1,a),u.length==0)throw new Ke("Empty parameter name in '"+e+"'");if(o=u.toLowerCase(),f=!1,h=!1,o in i.param&&i.param[o].valueType?d=i.param[o].valueType:d=bu,o in i.param&&(h=i.param[o].multiValue,i.param[o].multiValueSeparateDQuote&&(f=ut._rfc6868Escape('"'+h+'"'))),e[a+1]==='"'){if(c=a+2,a=e.indexOf('"',c),h&&a!=-1){let R=!0;for(;R;)e[a+1]==h&&e[a+2]=='"'?a=e.indexOf('"',a+3):R=!1}if(a===-1)throw new Ke('invalid line (no matching double quote) "'+e+'"');T=e.slice(c,a),n=e.indexOf(Mn,a);let E=e.indexOf(si,a);(n===-1||E!==-1&&n>E)&&(a=!1)}else{c=a+1;let E=e.indexOf(Mn,c),R=e.indexOf(si,c);R!==-1&&E>R?(E=R,a=!1):E===-1?(R===-1?E=e.length:E=R,a=!1):(n=E,a=E),T=e.slice(c,E)}const D=T.length;if(T=ut._rfc6868Escape(T),c+=D-T.length,h){let E=f||h;T=ut._parseMultiValue(T,E,d,[],null,i)}else T=ut._parseValue(T,d,i);h&&o in l?Array.isArray(l[o])?l[o].push(T):l[o]=[l[o],T]:l[o]=T}return[l,T,c]},ut._rfc6868Escape=function(e){return e.replace(/\^['n^]/g,function(r){return Yu[r]})},ut._parseMultiValue=function(e,r,i,n,a,s,l){let u=0,o=0,T;if(r.length===0)return e;for(;(u=gs(e,r,o))!==-1;)T=e.slice(o,u),a?T=ut._parseMultiValue(T,a,i,[],null,s,l):T=ut._parseValue(T,i,s,l),n.push(T),o=u+r.length;return T=e.slice(o),a?T=ut._parseMultiValue(T,a,i,[],null,s,l):T=ut._parseValue(T,i,s,l),n.push(T),n.length==1?n[0]:n},ut._eachLine=function(e,r){let i=e.length,n=e.search(Nu),a=n,s,l,u;do a=e.indexOf(` `,n)+1,a>1&&e[a-2]==="\r"?u=2:u=1,a===0&&(a=i,u=0),l=e[n],l===" "||l===" "?s+=e.slice(n+1,a-u):(s&&r(null,s),s=e.slice(n,a-u)),n=a;while(a!==i);s=s.trim(),s.length&&r(null,s)};const Mu=["tzid","location","tznames","latitude","longitude"];let ft=class dt{static _compare_change_fn(r,i){return r.yeari.year?1:r.monthi.month?1:r.dayi.day?1:r.houri.hour?1:r.minutei.minute?1:r.secondi.second?1:0}static convert_time(r,i,n){if(r.isDate||i.tzid==n.tzid||i==dt.localTimezone||n==dt.localTimezone)return r.zone=n,r;let a=i.utcOffset(r);return r.adjust(0,0,0,-a),a=n.utcOffset(r),r.adjust(0,0,0,a),null}static fromData(r){return new dt().fromData(r)}static#t=null;static get utcTimezone(){return this.#t||(this.#t=dt.fromData({tzid:"UTC"})),this.#t}static#n=null;static get localTimezone(){return this.#n||(this.#n=dt.fromData({tzid:"floating"})),this.#n}static adjust_change(r,i,n,a,s){return _.prototype.adjust.call(r,i,n,a,s,r)}static _minimumExpansionYear=-1;static EXTRA_COVERAGE=5;constructor(r){this.wrappedJSObject=this,this.fromData(r)}tzid="";location="";tznames="";latitude=0;longitude=0;component=null;expandedUntilYear=0;icalclass="icaltimezone";fromData(r){if(this.expandedUntilYear=0,this.changes=[],r instanceof qt)this.component=r;else{if(r&&"component"in r)if(typeof r.component=="string"){let i=ut(r.component);this.component=new qt(i)}else r.component instanceof qt?this.component=r.component:this.component=null;for(let i of Mu)r&&i in r&&(this[i]=r[i])}return this.component instanceof qt&&!this.tzid&&(this.tzid=this.component.getFirstPropertyValue("tzid")),this}utcOffset(r){if(this==dt.utcTimezone||this==dt.localTimezone||(this._ensureCoverage(r.year),!this.changes.length))return 0;let i={year:r.year,month:r.month,day:r.day,hour:r.hour,minute:r.minute,second:r.second},n=this._findNearbyChange(i),a=-1,s=1;for(;;){let u=nr(this.changes[n],!0);if(u.utcOffset=0?a=n:s=-1,s==-1&&a!=-1)break;if(n+=s,n<0)return 0;if(n>=this.changes.length)break}let l=this.changes[a];if(l.utcOffset-l.prevUtcOffset<0&&a>0){let u=nr(l,!0);if(dt.adjust_change(u,0,0,0,u.prevUtcOffset),dt._compare_change_fn(i,u)<0){let o=this.changes[a-1],T=!1;l.is_daylight!=T&&o.is_daylight==T&&(l=o)}}return l.utcOffset}_findNearbyChange(r){let i=tr(this.changes,r,dt._compare_change_fn);return i>=this.changes.length?this.changes.length-1:i}_ensureCoverage(r){if(dt._minimumExpansionYear==-1){let n=_.now();dt._minimumExpansionYear=n.year}let i=r;if(ii||!d));)s.year=d.year,s.month=d.month,s.day=d.day,s.hour=d.hour,s.minute=d.minute,s.second=d.second,s.isDate=d.isDate,dt.adjust_change(s,0,0,0,-s.prevUtcOffset),n.push(s)}}return n}toString(){return this.tznames?this.tznames:this.tzid}},zt=null;const bi={get count(){return zt===null?0:Object.keys(zt).length},reset:function(){zt=Object.create(null);let e=ft.utcTimezone;zt.Z=e,zt.UTC=e,zt.GMT=e},_hard_reset:function(){zt=null},has:function(e){return zt===null?!1:!!zt[e]},get:function(e){return zt===null&&this.reset(),zt[e]},register:function(e,r){if(zt===null&&this.reset(),typeof e=="string"&&r instanceof ft&&([e,r]=[r,e]),r||(e instanceof ft?r=e.tzid:e.name==="vtimezone"&&(e=new ft(e),r=e.tzid)),!r)throw new TypeError("Neither a timezone nor a name was passed");if(e instanceof ft)zt[r]=e;else throw new TypeError("timezone must be ICAL.Timezone or ICAL.Component")},remove:function(e){return zt===null?null:delete zt[e]}};function wu(e){let r,i,n,a,s;if(!e||e.name!=="vcalendar")return e;for(r=e.getAllSubcomponents(),i=[],n={},s=0;s"u"))return e instanceof r?e:new r(e)}function gs(e,r,i){for(;(i=e.indexOf(r,i))!==-1;)if(i>0&&e[i-1]==="\\")i+=1;else return i;return-1}function tr(e,r,i){if(!e.length)return 0;let n=0,a=e.length-1,s,l;for(;n<=a;)if(s=n+Math.floor((a-n)/2),l=i(r,e[s]),l<0)a=s-1;else if(l>0)n=s+1;else break;return l<0?s:l>0?s+1:s}function nr(e,r){if(!e||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if("clone"in e)return e.clone();if(Array.isArray(e)){let i=[];for(let n=0;n65535?2:1:(r+=bt.newLineChar+" "+i.slice(0,Math.max(0,n)),i=i.slice(Math.max(0,n)),n=a=0)}return r.slice(bt.newLineChar.length+1)}function Qt(e){switch(typeof e!="string"&&(typeof e=="number"&&(e=parseInt(e)),e=String(e)),e.length){case 0:return"00";case 1:return"0"+e;default:return e}}function _t(e){return e<0?Math.ceil(e):Math.floor(e)}function sr(e,r){for(let i in e){let n=Object.getOwnPropertyDescriptor(e,i);n&&!Object.getOwnPropertyDescriptor(r,i)&&Object.defineProperty(r,i,n)}return r}var _u=Object.freeze({__proto__:null,updateTimezones:wu,isStrictlyNaN:zr,strictParseInt:Gt,formatClassType:Ne,unescapedIndexOf:gs,binsearchInsert:tr,clone:nr,foldline:Fs,pad2:Qt,trunc:_t,extend:sr});class se{static fromString(r){let i={};return i.factor=r[0]==="+"?1:-1,i.hours=Gt(r.slice(1,3)),i.minutes=Gt(r.slice(4,6)),new se(i)}static fromSeconds(r){let i=new se;return i.fromSeconds(r),i}constructor(r){this.fromData(r)}hours=0;minutes=0;factor=1;icaltype="utc-offset";clone(){return se.fromSeconds(this.toSeconds())}fromData(r){if(r)for(let[i,n]of Object.entries(r))this[i]=n;this._normalize()}fromSeconds(r){let i=Math.abs(r);return this.factor=r<0?-1:1,this.hours=_t(i/3600),i-=this.hours*3600,this.minutes=_t(i/60),this}toSeconds(){return this.factor*(60*this.minutes+3600*this.hours)}compare(r){let i=this.toSeconds(),n=r.toSeconds();return(i>n)-(n>i)}_normalize(){let r=this.toSeconds(),i=this.factor;for(;r<-43200;)r+=97200;for(;r>50400;)r-=97200;this.fromSeconds(r),r==0&&(this.factor=i)}toICALString(){return Bt.icalendar.value["utc-offset"].toICAL(this.toString())}toString(){return(this.factor==1?"+":"-")+Qt(this.hours)+":"+Qt(this.minutes)}}class He extends _{static fromDateAndOrTimeString(r,i){function n(E,R,N){return E?Gt(E.slice(R,R+N)):null}let a=r.split("T"),s=a[0],l=a[1],u=l?Bt.vcard.value.time._splitZone(l):[],o=u[0],T=u[1],c=s?s.length:0,d=T?T.length:0,h=s&&s[0]=="-"&&s[1]=="-",f=T&&T[0]=="-",D={year:h?null:n(s,0,4),month:h&&(c==4||c==7)?n(s,2,2):c==7||c==10?n(s,5,2):null,day:c==5?n(s,3,2):c==7&&h?n(s,5,2):c==10?n(s,8,2):null,hour:f?null:n(T,0,2),minute:f&&d==3?n(T,1,2):d>4?f?n(T,1,2):n(T,3,2):null,second:d==4?n(T,2,2):d==6?n(T,4,2):d==8?n(T,6,2):null};return o=="Z"?o=ft.utcTimezone:o&&o[3]==":"?o=se.fromString(o):o=null,new He(D,o,i)}constructor(r,i,n){super(r,i),this.icaltype=n||"date-and-or-time"}icalclass="vcardtime";icaltype="date-and-or-time";clone(){return new He(this._time,this.zone,this.icaltype)}_normalize(){return this}utcOffset(){return this.zone instanceof se?this.zone.toSeconds():_.prototype.utcOffset.apply(this,arguments)}toICALString(){return Bt.vcard.value[this.icaltype].toICAL(this.toString())}toString(){let r=this.year,i=this.month,n=this.day,a=this.hour,s=this.minute,l=this.second,u=r!==null,o=i!==null,T=n!==null,c=a!==null,d=s!==null,h=l!==null,f=(u?Qt(r)+(o||T?"-":""):o||T?"--":"")+(o?Qt(i):"")+(T?"-"+Qt(n):""),D=(c?Qt(a):"-")+(c&&d?":":"")+(d?Qt(s):"")+(!c&&!d?"-":"")+(d&&h?":":"")+(h?Qt(l):""),E;switch(this.zone===ft.utcTimezone?E="Z":this.zone instanceof se?E=this.zone.toString():this.zone===ft.localTimezone?E="":this.zone instanceof ft?E=se.fromSeconds(this.zone.utcOffset(this)).toString():E="",this.icaltype){case"time":return D+E;case"date-and-or-time":case"date-time":return f+(D=="--"?"":"T"+D+E);case"date":return f}return null}}class he{static _indexMap={BYSECOND:0,BYMINUTE:1,BYHOUR:2,BYDAY:3,BYMONTHDAY:4,BYYEARDAY:5,BYWEEKNO:6,BYMONTH:7,BYSETPOS:8};static _expandMap={SECONDLY:[1,1,1,1,1,1,1,1],MINUTELY:[2,1,1,1,1,1,1,1],HOURLY:[2,2,1,1,1,1,1,1],DAILY:[2,2,2,1,1,1,1,1],WEEKLY:[2,2,2,2,3,3,1,1],MONTHLY:[2,2,2,2,2,3,3,1],YEARLY:[2,2,2,2,2,2,2,2]};static UNKNOWN=0;static CONTRACT=1;static EXPAND=2;static ILLEGAL=3;constructor(r){this.fromData(r)}completed=!1;rule=null;dtstart=null;last=null;occurrence_number=0;by_indices=null;initialized=!1;by_data=null;days=null;days_index=0;fromData(r){if(this.rule=Ne(r.rule,Ut),!this.rule)throw new Error("iterator requires a (ICAL.Recur) rule");if(this.dtstart=Ne(r.dtstart,_),!this.dtstart)throw new Error("iterator requires a (ICAL.Time) dtstart");if(r.by_data?this.by_data=r.by_data:this.by_data=nr(this.rule.parts,!0),r.occurrence_number&&(this.occurrence_number=r.occurrence_number),this.days=r.days||[],r.last&&(this.last=Ne(r.last,_)),this.by_indices=r.by_indices,this.by_indices||(this.by_indices={BYSECOND:0,BYMINUTE:0,BYHOUR:0,BYDAY:0,BYMONTH:0,BYWEEKNO:0,BYMONTHDAY:0}),this.initialized=r.initialized||!1,!this.initialized)try{this.init()}catch(i){if(i instanceof Ja)this.completed=!0;else throw i}}init(){this.initialized=!0,this.last=this.dtstart.clone();let r=this.by_data;if("BYDAY"in r&&this.sort_byday_rules(r.BYDAY),"BYYEARDAY"in r&&("BYMONTH"in r||"BYWEEKNO"in r||"BYMONTHDAY"in r||"BYDAY"in r))throw new Error("Invalid BYYEARDAY rule");if("BYWEEKNO"in r&&"BYMONTHDAY"in r)throw new Error("BYWEEKNO does not fit to BYMONTHDAY");if(this.rule.freq=="MONTHLY"&&("BYYEARDAY"in r||"BYWEEKNO"in r))throw new Error("For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear");if(this.rule.freq=="WEEKLY"&&("BYYEARDAY"in r||"BYMONTHDAY"in r))throw new Error("For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear");if(this.rule.freq!="YEARLY"&&"BYYEARDAY"in r)throw new Error("BYYEARDAY may only appear in YEARLY rules");if(this.last.second=this.setup_defaults("BYSECOND","SECONDLY",this.dtstart.second),this.last.minute=this.setup_defaults("BYMINUTE","MINUTELY",this.dtstart.minute),this.last.hour=this.setup_defaults("BYHOUR","HOURLY",this.dtstart.hour),this.last.day=this.setup_defaults("BYMONTHDAY","DAILY",this.dtstart.day),this.last.month=this.setup_defaults("BYMONTH","MONTHLY",this.dtstart.month),this.rule.freq=="WEEKLY")if("BYDAY"in r){let[,i]=this.ruleDayOfWeek(r.BYDAY[0],this.rule.wkst),n=i-this.last.dayOfWeek(this.rule.wkst);(this.last.dayOfWeek(this.rule.wkst)=0||n<0)&&(this.last.day+=n)}else{let i=Ut.numericDayToIcalDay(this.dtstart.dayOfWeek());r.BYDAY=[i]}if(this.rule.freq=="YEARLY"){const i=this.rule.until?this.rule.until.year:2e4;for(;this.last.year<=i&&(this.expand_year_days(this.last.year),!(this.days.length>0));)this.increment_year(this.rule.interval);if(this.days.length==0)throw new Ja;this._nextByYearDay()}if(this.rule.freq=="MONTHLY"){if(this.has_by_data("BYDAY")){let i=null,n=this.last.clone(),a=_.daysInMonth(this.last.month,this.last.year);for(let s of this.by_data.BYDAY){this.last=n.clone();let[l,u]=this.ruleDayOfWeek(s),o=this.last.nthWeekDay(u,l);if(l>=6||l<=-6)throw new Error("Malformed values in BYDAY part");if(o>a||o<=0){if(i&&i.month==n.month)continue;for(;o>a||o<=0;)this.increment_month(),a=_.daysInMonth(this.last.month,this.last.year),o=this.last.nthWeekDay(u,l)}this.last.day=o,(!i||this.last.compare(i)<0)&&(i=this.last.clone())}if(this.last=i.clone(),this.has_by_data("BYMONTHDAY")&&this._byDayAndMonthDay(!0),this.last.day>a||this.last.day==0)throw new Error("Malformed values in BYDAY part")}else if(this.has_by_data("BYMONTHDAY")){this.last.day=1;let i=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY).filter(n=>n>=this.last.day);if(i.length)this.last.day=i[0],this.by_data.BYMONTHDAY=i;else if(!this.next_month()&&!this.next_month()&&!this.next_month())throw new Error("No possible occurrences")}}}next(r=!1){let i=this.last?this.last.clone():null;if((this.rule.count&&this.occurrence_number>=this.rule.count||this.rule.until&&this.last.compare(this.rule.until)>0)&&(this.completed=!0),this.completed)return null;if(this.occurrence_number==0&&this.last.compare(this.dtstart)>=0)return this.occurrence_number++,this.last;let n;do switch(n=1,this.rule.freq){case"SECONDLY":this.next_second();break;case"MINUTELY":this.next_minute();break;case"HOURLY":this.next_hour();break;case"DAILY":this.next_day();break;case"WEEKLY":this.next_week();break;case"MONTHLY":n=this.next_month();break;case"YEARLY":this.next_year();break;default:return null}while(!this.check_contracting_rules()||this.last.compare(this.dtstart)<0||!n);if(this.last.compare(i)==0){if(r)throw new Error("Same occurrence found twice, protecting you from death by recursion");this.next(!0)}return this.rule.until&&this.last.compare(this.rule.until)>0?(this.completed=!0,null):(this.occurrence_number++,this.last)}next_second(){return this.next_generic("BYSECOND","SECONDLY","second","minute")}increment_second(r){return this.increment_generic(r,"second",60,"minute")}next_minute(){return this.next_generic("BYMINUTE","MINUTELY","minute","hour","next_second")}increment_minute(r){return this.increment_generic(r,"minute",60,"hour")}next_hour(){return this.next_generic("BYHOUR","HOURLY","hour","monthday","next_minute")}increment_hour(r){this.increment_generic(r,"hour",24,"monthday")}next_day(){let r=this.rule.freq=="DAILY";return this.next_hour()==0||(r?this.increment_monthday(this.rule.interval):this.increment_monthday(1)),0}next_week(){let r=0;if(this.next_weekday_by_week()==0)return r;if(this.has_by_data("BYWEEKNO")){this.by_indices.BYWEEKNO++,this.by_indices.BYWEEKNO==this.by_data.BYWEEKNO.length&&(this.by_indices.BYWEEKNO=0,r=1),this.last.month=1,this.last.day=1;let i=this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];this.last.day+=7*i,r&&this.increment_year(1)}else this.increment_monthday(7*this.rule.interval);return r}normalizeByMonthDayRules(r,i,n){let a=_.daysInMonth(i,r),s=[],l=0,u=n.length,o;for(;la)){if(o<0)o=a+(o+1);else if(o===0)continue;s.indexOf(o)===-1&&s.push(o)}}return s.sort(function(T,c){return T-c})}_byDayAndMonthDay(r){let i,n=this.by_data.BYDAY,a,s=0,l,u=n.length,o=0,T,c=this,d=this.last.day;function h(){for(T=_.daysInMonth(c.last.month,c.last.year),i=c.normalizeByMonthDayRules(c.last.year,c.last.month,c.by_data.BYMONTHDAY),l=i.length;i[s]<=d&&!(r&&i[s]==d)&&sT){f();continue}let E=i[s++];if(E>=a)d=E;else{f();continue}for(let R=0;Ri&&(this.last.day=1,this.increment_month(),this.is_day_in_byday(this.last)?(!this.has_by_data("BYSETPOS")||this.check_set_position(1))&&(r=1):r=0)}else if(this.has_by_data("BYMONTHDAY")){if(this.by_indices.BYMONTHDAY++,this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length&&(this.by_indices.BYMONTHDAY=0,this.increment_month(),this.by_indices.BYMONTHDAY>=this.by_data.BYMONTHDAY.length))return 0;let i=_.daysInMonth(this.last.month,this.last.year),n=this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];n<0&&(n=i+n+1),n>i?(this.last.day=1,r=this.is_day_in_byday(this.last)):this.last.day=n}else{this.increment_month();let i=_.daysInMonth(this.last.month,this.last.year);this.by_data.BYMONTHDAY[0]>i?r=0:this.last.day=this.by_data.BYMONTHDAY[0]}return r}next_weekday_by_week(){let r=0;if(this.next_hour()==0)return r;if(!this.has_by_data("BYDAY"))return 1;for(;;){let i=new _;this.by_indices.BYDAY++,this.by_indices.BYDAY==Object.keys(this.by_data.BYDAY).length&&(this.by_indices.BYDAY=0,r=1);let n=this.by_data.BYDAY[this.by_indices.BYDAY],a=this.ruleDayOfWeek(n)[1];a-=this.rule.wkst,a<0&&(a+=7),i.year=this.last.year,i.month=this.last.month,i.day=this.last.day;let s=i.startDoyWeek(this.rule.wkst);if(a+s<1&&!r)continue;let l=_.fromDayOfYear(s+a,this.last.year);return this.last.year=l.year,this.last.month=l.month,this.last.day=l.day,r}}next_year(){if(this.next_hour()==0)return 0;if(++this.days_index==this.days.length){this.days_index=0;do this.increment_year(this.rule.interval),this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY)),this.expand_year_days(this.last.year);while(this.days.length==0)}return this._nextByYearDay(),1}_nextByYearDay(){let r=this.days[this.days_index],i=this.last.year;r<1&&(r+=1,i+=1);let n=_.fromDayOfYear(r,i);this.last.day=n.day,this.last.month=n.month}ruleDayOfWeek(r,i){let n=r.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);if(n){let a=parseInt(n[1]||0,10);return r=Ut.icalDayToNumericDay(n[2],i),[a,r]}else return[0,0]}next_generic(r,i,n,a,s){let l=r in this.by_data,u=this.rule.freq==i,o=0;if(s&&this[s]()==0)return o;if(l){this.by_indices[r]++;let T=this.by_data[r];this.by_indices[r]==T.length&&(this.by_indices[r]=0,o=1),this.last[n]=T[this.by_indices[r]]}else u&&this["increment_"+n](this.rule.interval);return l&&o&&u&&this["increment_"+a](1),o}increment_monthday(r){for(let i=0;in&&(this.last.day-=n,this.increment_month())}}increment_month(){if(this.last.day=1,this.has_by_data("BYMONTH"))this.by_indices.BYMONTH++,this.by_indices.BYMONTH==this.by_data.BYMONTH.length&&(this.by_indices.BYMONTH=0,this.increment_year(1)),this.last.month=this.by_data.BYMONTH[this.by_indices.BYMONTH];else{this.rule.freq=="MONTHLY"?this.last.month+=this.rule.interval:this.last.month++,this.last.month--;let r=_t(this.last.month/12);this.last.month%=12,this.last.month++,r!=0&&this.increment_year(r)}this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY))}increment_year(r){this.last.day=1,this.last.year+=r}increment_generic(r,i,n,a){this.last[i]+=r;let s=_t(this.last[i]/n);this.last[i]%=n,s!=0&&this["increment_"+a](s)}has_by_data(r){return r in this.rule.parts}expand_year_days(r){let i=new _;this.days=[];let n={},a=["BYDAY","BYWEEKNO","BYMONTHDAY","BYMONTH","BYYEARDAY"];for(let u of a)u in this.rule.parts&&(n[u]=this.rule.parts[u]);if("BYMONTH"in n&&"BYWEEKNO"in n){let u=1,o={};i.year=r,i.isDate=!0;for(let T=0;T0?(R=N+(D-1)*7,R<=o&&this.days.push(c+R)):(R=v+(D+1)*7,R>0&&this.days.push(c+R))}}this.days.sort(function(u,o){return u-o})}else if(s==2&&"BYDAY"in n&&"BYMONTHDAY"in n){let u=this.expand_by_day(r);for(let o of u){let T=_.fromDayOfYear(o,r);this.by_data.BYMONTHDAY.indexOf(T.day)>=0&&this.days.push(o)}}else if(s==3&&"BYDAY"in n&&"BYMONTHDAY"in n&&"BYMONTH"in n){let u=this.expand_by_day(r);for(let o of u){let T=_.fromDayOfYear(o,r);this.by_data.BYMONTH.indexOf(T.month)>=0&&this.by_data.BYMONTHDAY.indexOf(T.day)>=0&&this.days.push(o)}}else if(s==2&&"BYDAY"in n&&"BYWEEKNO"in n){let u=this.expand_by_day(r);for(let o of u){let T=_.fromDayOfYear(o,r).weekNumber(this.rule.wkst);this.by_data.BYWEEKNO.indexOf(T)&&this.days.push(o)}}else s==3&&"BYDAY"in n&&"BYWEEKNO"in n&&"BYMONTHDAY"in n||(s==1&&"BYYEARDAY"in n?this.days=this.days.concat(this.by_data.BYYEARDAY):this.days=[]);let l=_.isLeapYear(r)?366:365;return this.days.sort((u,o)=>(u<0&&(u+=l+1),o<0&&(o+=l+1),u-o)),0}expand_by_day(r){let i=[],n=this.last.clone();n.year=r,n.month=1,n.day=1,n.isDate=!0;let a=n.dayOfWeek();n.month=12,n.day=31,n.isDate=!0;let s=n.dayOfWeek(),l=n.dayOfYear();for(let u of this.by_data.BYDAY){let o=this.ruleDayOfWeek(u),T=o[0],c=o[1];if(T==0){let d=(c+7-a)%7+1;for(let h=d;h<=l;h+=7)i.push(h)}else if(T>0){let d;c>=a?d=c-a+1:d=c-a+8,i.push(d+(T-1)*7)}else{let d;T=-T,c<=s?d=l-s+c:d=l-s+c-7,i.push(d-(T-1)*7)}}return i}is_day_in_byday(r){if(this.by_data.BYDAY)for(let i of this.by_data.BYDAY){let n=this.ruleDayOfWeek(i),a=n[0],s=n[1],l=r.dayOfWeek();if(a==0&&s==l||r.nthWeekDay(s,a)==r.day)return 1}return 0}check_set_position(r){return this.has_by_data("BYSETPOS")?this.by_data.BYSETPOS.indexOf(r)!==-1:!1}sort_byday_rules(r){for(let i=0;is){let l=r[i];r[i]=r[n],r[n]=l}}}check_contract_restriction(r,i){let n=he._indexMap[r],a=he._expandMap[this.rule.freq][n],s=!1;if(r in this.by_data&&a==he.CONTRACT){let l=this.by_data[r];for(let u of l)if(u==i){s=!0;break}}else s=!0;return s}check_contracting_rules(){let r=this.last.dayOfWeek(),i=this.last.weekNumber(this.rule.wkst),n=this.last.dayOfYear();return this.check_contract_restriction("BYSECOND",this.last.second)&&this.check_contract_restriction("BYMINUTE",this.last.minute)&&this.check_contract_restriction("BYHOUR",this.last.hour)&&this.check_contract_restriction("BYDAY",Ut.numericDayToIcalDay(r))&&this.check_contract_restriction("BYWEEKNO",i)&&this.check_contract_restriction("BYMONTHDAY",this.last.day)&&this.check_contract_restriction("BYMONTH",this.last.month)&&this.check_contract_restriction("BYYEARDAY",n)}setup_defaults(r,i,n){let a=he._indexMap[r];return he._expandMap[this.rule.freq][a]!=he.CONTRACT&&(r in this.by_data||(this.by_data[r]=[n]),this.rule.freq!=i)?this.by_data[r][0]:n}toJSON(){let r=Object.create(null);return r.initialized=this.initialized,r.rule=this.rule.toJSON(),r.dtstart=this.dtstart.toJSON(),r.by_data=this.by_data,r.days=this.days,r.last=this.last.toJSON(),r.by_indices=this.by_indices,r.occurrence_number=this.occurrence_number,r}}class Ja extends Error{constructor(){super("Recurrence rule has no valid occurrences")}}const Bu=/^(SU|MO|TU|WE|TH|FR|SA)$/,Zu=/^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/,Rs={SU:_.SUNDAY,MO:_.MONDAY,TU:_.TUESDAY,WE:_.WEDNESDAY,TH:_.THURSDAY,FR:_.FRIDAY,SA:_.SATURDAY},Cu=Object.fromEntries(Object.entries(Rs).map(e=>e.reverse())),t0=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"];class Ut{static fromString(r){let i=this._stringToData(r,!1);return new Ut(i)}static fromData(r){return new Ut(r)}static _stringToData(r,i){let n=Object.create(null),a=r.split(";"),s=a.length;for(let l=0;l7&&(a-=7),Cu[a]}constructor(r){this.wrappedJSObject=this,this.parts={},r&&typeof r=="object"&&this.fromData(r)}parts=null;interval=1;wkst=_.MONDAY;until=null;count=null;freq=null;icalclass="icalrecur";icaltype="recur";iterator(r){return new he({rule:this,dtstart:r})}clone(){return new Ut(this.toJSON())}isFinite(){return!!(this.count||this.until)}isByCount(){return!!(this.count&&!this.until)}addComponent(r,i){let n=r.toUpperCase();n in this.parts?this.parts[n].push(i):this.parts[n]=[i]}setComponent(r,i){this.parts[r.toUpperCase()]=i.slice()}getComponent(r){let i=r.toUpperCase();return i in this.parts?this.parts[i].slice():[]}getNextOccurrence(r,i){let n=this.iterator(r),a;do a=n.next();while(a&&a.compare(i)<=0);return a&&i.zone&&(a.zone=i.zone),a}fromData(r){for(let i in r){let n=i.toUpperCase();n in _n?Array.isArray(r[i])?this.parts[n]=r[i]:this.parts[n]=[r[i]]:this[i]=r[i]}this.interval&&typeof this.interval!="number"&&wn.INTERVAL(this.interval,this),this.wkst&&typeof this.wkst!="number"&&(this.wkst=Ut.icalDayToNumericDay(this.wkst)),this.until&&!(this.until instanceof _)&&(this.until=_.fromString(this.until))}toJSON(){let r=Object.create(null);r.freq=this.freq,this.count&&(r.count=this.count),this.interval>1&&(r.interval=this.interval);for(let[i,n]of Object.entries(this.parts))Array.isArray(n)&&n.length==1?r[i.toLowerCase()]=n[0]:r[i.toLowerCase()]=nr(n);return this.until&&(r.until=this.until.toString()),"wkst"in this&&this.wkst!==_.DEFAULT_WEEK_START&&(r.wkst=Ut.numericDayToIcalDay(this.wkst)),r}toString(){let r="FREQ="+this.freq;this.count&&(r+=";COUNT="+this.count),this.interval>1&&(r+=";INTERVAL="+this.interval);for(let[i,n]of Object.entries(this.parts))r+=";"+i+"="+n;return this.until&&(r+=";UNTIL="+this.until.toICALString()),"wkst"in this&&this.wkst!==_.DEFAULT_WEEK_START&&(r+=";WKST="+Ut.numericDayToIcalDay(this.wkst)),r}}function Ye(e,r,i,n){let a=n;if(n[0]==="+"&&(a=n.slice(1)),a=Gt(a),r!==void 0&&n '+r);if(i!==void 0&&n>i)throw new Error(e+': invalid value "'+n+'" must be < '+r);return a}const wn={FREQ:function(e,r,i){if(t0.indexOf(e)!==-1)r.freq=e;else throw new Error('invalid frequency "'+e+'" expected: "'+t0.join(", ")+'"')},COUNT:function(e,r,i){r.count=Gt(e)},INTERVAL:function(e,r,i){r.interval=Gt(e),r.interval<1&&(r.interval=1)},UNTIL:function(e,r,i){e.length>10?r.until=Bt.icalendar.value["date-time"].fromICAL(e):r.until=Bt.icalendar.value.date.fromICAL(e),i||(r.until=_.fromString(r.until))},WKST:function(e,r,i){if(Bu.test(e))r.wkst=Ut.icalDayToNumericDay(e);else throw new Error('invalid WKST value "'+e+'"')}},_n={BYSECOND:Ye.bind(void 0,"BYSECOND",0,60),BYMINUTE:Ye.bind(void 0,"BYMINUTE",0,59),BYHOUR:Ye.bind(void 0,"BYHOUR",0,23),BYDAY:function(e){if(Zu.test(e))return e;throw new Error('invalid BYDAY value "'+e+'"')},BYMONTHDAY:Ye.bind(void 0,"BYMONTHDAY",-31,31),BYYEARDAY:Ye.bind(void 0,"BYYEARDAY",-366,366),BYWEEKNO:Ye.bind(void 0,"BYWEEKNO",-53,53),BYMONTH:Ye.bind(void 0,"BYMONTH",1,12),BYSETPOS:Ye.bind(void 0,"BYSETPOS",-366,366)};class xe{static fromString(r,i){let n=r.split("/");if(n.length!==2)throw new Error('Invalid string value: "'+r+'" must contain a "/" char.');let a={start:_.fromDateTimeString(n[0],i)},s=n[1];return jt.isValueString(s)?a.duration=jt.fromString(s):a.end=_.fromDateTimeString(s,i),new xe(a)}static fromData(r){return new xe(r)}static fromJSON(r,i,n){function a(s,l){return n?_.fromString(s,l):_.fromDateTimeString(s,l)}return jt.isValueString(r[1])?xe.fromData({start:a(r[0],i),duration:jt.fromString(r[1])}):xe.fromData({start:a(r[0],i),end:a(r[1],i)})}constructor(r){if(this.wrappedJSObject=this,r&&"start"in r){if(r.start&&!(r.start instanceof _))throw new TypeError(".start must be an instance of ICAL.Time");this.start=r.start}if(r&&r.end&&r.duration)throw new Error("cannot accept both end and duration");if(r&&"end"in r){if(r.end&&!(r.end instanceof _))throw new TypeError(".end must be an instance of ICAL.Time");this.end=r.end}if(r&&"duration"in r){if(r.duration&&!(r.duration instanceof jt))throw new TypeError(".duration must be an instance of ICAL.Duration");this.duration=r.duration}}start=null;end=null;duration=null;icalclass="icalperiod";icaltype="period";clone(){return xe.fromData({start:this.start?this.start.clone():null,end:this.end?this.end.clone():null,duration:this.duration?this.duration.clone():null})}getDuration(){return this.duration?this.duration:this.end.subtractDate(this.start)}getEnd(){if(this.end)return this.end;{let r=this.start.clone();return r.addDuration(this.duration),r}}toString(){return this.start+"/"+(this.end||this.duration)}toJSON(){return[this.start.toString(),(this.end||this.duration).toString()]}toICALString(){return this.start.toICALString()+"/"+(this.end||this.duration).toICALString()}}const Lu=/\\\\|\\;|\\,|\\[Nn]/g,xu=/\\|;|,|\n/g,e0=/\\\\|\\,|\\[Nn]/g,r0=/\\|,|\n/g;function ta(e,r){return{matches:/.*/,fromICAL:function(i,n){return ku(i,e,n)},toICAL:function(i,n){let a=r;return n&&(a=new RegExp(a.source+"|"+n,a.flags)),i.replace(a,function(s){switch(s){case"\\":return"\\\\";case";":return"\\;";case",":return"\\,";case` `:return"\\n";default:return s}})}}}const lt={defaultType:"text"},Vr={defaultType:"text",multiValue:","},Yi={defaultType:"text",structuredValue:";"},oi={defaultType:"integer"},li={defaultType:"date-time",allowedTypes:["date-time","date"]},ui={defaultType:"date-time"},$t={defaultType:"uri"},i0={defaultType:"utc-offset"},n0={defaultType:"recur"},a0={defaultType:"date-and-or-time",allowedTypes:["date-time","date","text"]};function Iu(e){switch(e){case"\\\\":return"\\";case"\\;":return";";case"\\,":return",";case"\\n":case"\\N":return` diff --git a/js/viewer-init.mjs.license b/js/viewer-init.mjs.license index c99653d43..f3a4ca1b2 100644 --- a/js/viewer-init.mjs.license +++ b/js/viewer-init.mjs.license @@ -120,7 +120,7 @@ This file is generated from multiple sources. Included packages: - version: 5.1.3 - license: MIT - viewer - - version: 6.0.0-dev.0 + - version: 7.0.0-dev.0 - license: AGPL-3.0-or-later - vue-async-computed - version: 3.9.0 diff --git a/js/viewer-init.mjs.map.license b/js/viewer-init.mjs.map.license index c99653d43..f3a4ca1b2 100644 --- a/js/viewer-init.mjs.map.license +++ b/js/viewer-init.mjs.map.license @@ -120,7 +120,7 @@ This file is generated from multiple sources. Included packages: - version: 5.1.3 - license: MIT - viewer - - version: 6.0.0-dev.0 + - version: 7.0.0-dev.0 - license: AGPL-3.0-or-later - vue-async-computed - version: 3.9.0 diff --git a/js/viewer-main.mjs.license b/js/viewer-main.mjs.license index 808f5462d..b01ade814 100644 --- a/js/viewer-main.mjs.license +++ b/js/viewer-main.mjs.license @@ -13,7 +13,7 @@ This file is generated from multiple sources. Included packages: - version: 1.0.7 - license: MIT - viewer - - version: 6.0.0-dev.0 + - version: 7.0.0-dev.0 - license: AGPL-3.0-or-later - vue-material-design-icons - version: 5.3.1 diff --git a/js/viewer-main.mjs.map.license b/js/viewer-main.mjs.map.license index 808f5462d..b01ade814 100644 --- a/js/viewer-main.mjs.map.license +++ b/js/viewer-main.mjs.map.license @@ -13,7 +13,7 @@ This file is generated from multiple sources. Included packages: - version: 1.0.7 - license: MIT - viewer - - version: 6.0.0-dev.0 + - version: 7.0.0-dev.0 - license: AGPL-3.0-or-later - vue-material-design-icons - version: 5.3.1