mirror of
https://github.com/nextcloud/server.git
synced 2026-02-03 20:41:22 -05:00
22 lines
131 KiB
JavaScript
22 lines
131 KiB
JavaScript
import{f as G,j as W,o as B,k as it,e as v,t as tt,w as et,g as Yt,H as ye,F as Rt,C as Ft,c as Bt,l as le,b as ue,r as yt,A as Se,u as E,h as Ae}from"./runtime-dom.esm-bundler-DSTOTAEf.chunk.mjs";import{a as de,l as Vt,g as ge}from"./index-xFugdZPW.chunk.mjs";import{t as D}from"./translation-DoG5ZELJ-2ffMJaM4.chunk.mjs";import{N as Gt}from"./ContentCopy-caJ7vqeg.chunk.mjs";import{d as De,a as Pt,g as Ee,b as _e,o as be}from"./index-6_gsQFyp.chunk.mjs";import{c as ht}from"./index-D9L8KHF3.chunk.mjs";import{d as Lt,a as vt}from"./index-JpgrUA2Z-D4yQFKNw.chunk.mjs";import{a as mt,d as Ue}from"./createElementId-DhjFt1I9-Bjk2333q.chunk.mjs";import{S as Ce}from"./ShareType-suoNfd7y.chunk.mjs";import{c as Ht}from"./logger-D3RVzcfQ-iUjwSNGe.chunk.mjs";import{N as ce}from"./NcBreadcrumbs-DYfGaSjT-kISKYtAK.chunk.mjs";import{N as Ye,a as ve}from"./index-1IDLJUNm.chunk.mjs";import{_ as Oe,D as we}from"./TrashCanOutline-DKx7CxBb.chunk.mjs";import{l as R}from"./logger-CKJsLJ9Y.chunk.mjs";import"./PencilOutline-BPy7Lagu.chunk.mjs";import"./NcDateTime.vue_vue_type_script_setup_true_lang-BhB8yA4U-Bb9gAlar.chunk.mjs";import{H as Me}from"./index-Dzo4H_NA.chunk.mjs";import"./NcAvatar-DmUGApWA-JvdYd-8p.chunk.mjs";import"./NcRichText-CBMtJzE_-DhwkZADF.chunk.mjs";import"./mdi-kAZc0JKn.chunk.mjs";import{N as Ne}from"./NcCheckboxRadioSwitch-BCSKF7Tk-BDM2s1GW.chunk.mjs";import"./NcChip-D8tGFzRl-BmzaEo05.chunk.mjs";import"./NcColorPicker-Kc0JqRtp-DZI9oazy.chunk.mjs";import"./TrayArrowDown-zMGl3y4Q.chunk.mjs";import"./NcSelect-Czzsi3P_-wYuKB0zM.chunk.mjs";import"./NcEmojiPicker-pM4Pg2yq-BDMmjn1X.chunk.mjs";import{P as xe}from"./Plus-BVjFGi0H.chunk.mjs";/* empty css */import"./NcInputField-Bwsh2aHY-Bf_22pmD.chunk.mjs";import"./NcNoteCard-CVhtNL04-CdF6Qoal.chunk.mjs";import"./NcPasswordField-djttkA5Q-DvTgf1Bu.chunk.mjs";import"./index-CqGlcBjK.chunk.mjs";import"./NcUserBubble-DPAmU2_J-B8QraJ_f.chunk.mjs";import"./NcUserStatusIcon-CGEf7fej-CR1VhaiT.chunk.mjs";import"./colors-Go3zmZRD-Bml2X1sg.chunk.mjs";import{a as Ie,l as ke}from"./index-BlJ76-SL.chunk.mjs";import"./string_decoder-BO00msnV.chunk.mjs";function Kt(a){const t=a.getFullYear(),e=(a.getMonth()+1).toString().padStart(2,"0"),s=a.getDate().toString().padStart(2,"0");return`${t}-${e}-${s}`}const Be={name:"AbsenceForm",components:{NcButton:Ht,NcTextField:Oe,NcTextArea:ve,NcDateTimePickerNative:ce,NcSelectUsers:Ye},setup(){return{t:D}},data(){const{firstDay:a,lastDay:t,status:e,message:s,replacementUserId:r,replacementUserDisplayName:i}=Vt("dav","absence",{});return{loading:!1,status:e??"",message:s??"",firstDay:a?new Date(a):new Date,lastDay:t?new Date(t):null,replacementUserId:r,replacementUser:r?{user:r,displayName:i}:null,searchLoading:!1,options:[]}},computed:{valid(){const a=new Date(this.firstDay?.getTime()),t=new Date(this.lastDay?.getTime());return a?.setHours(0,0,0,0),t?.setHours(0,0,0,0),!!this.firstDay&&!!this.lastDay&&!!this.status&&!!this.message&&t>=a}},methods:{resetForm(){this.status="",this.message="",this.firstDay=new Date,this.lastDay=null},formatForMultiselect(a){return{user:a.uuid||a.value.shareWith,displayName:a.name||a.label,subtitle:a.dsc|""}},async asyncFind(a){this.searchLoading=!0,await this.debounceGetSuggestions(a.trim())},async getSuggestions(a){const t=[Ce.User];let e=null;try{e=await ht.get(mt("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"file",search:a,shareType:t}})}catch(d){R.error("Error fetching suggestions",{error:d});return}const s=e.data.ocs.data,r=e.data.ocs.data.exact;s.exact=[];const i=r.users,o=s.users;R.info("AbsenceForm raw suggestions",{rawExactSuggestions:i,rawSuggestions:o});const n=i.map(d=>this.formatForMultiselect(d)),l=o.map(d=>this.formatForMultiselect(d)),u=n.concat(l),c=u.reduce((d,m)=>(m.displayName&&(d[m.displayName]||(d[m.displayName]=0),d[m.displayName]++),d),{});this.options=u.map(d=>c[d.displayName]>1&&!d.desc?{...d,desc:d.shareWithDisplayNameUnique}:d),this.searchLoading=!1,R.info("AbsenseForm suggestions",{options:this.options})},debounceGetSuggestions:De(function(...a){this.getSuggestions(...a)},300),async saveForm(){if(this.valid){this.loading=!0;try{await ht.post(mt("/apps/dav/api/v1/outOfOffice/{userId}",{userId:Pt().uid}),{firstDay:Kt(this.firstDay),lastDay:Kt(this.lastDay),status:this.status,message:this.message,replacementUserId:this.replacementUser?.user??null}),Lt(D("dav","Absence saved"))}catch(a){vt(D("dav","Failed to save your absence settings")),R.error("Could not save absence",{error:a})}finally{this.loading=!1}}},async clearAbsence(){this.loading=!0;try{await ht.delete(mt("/apps/dav/api/v1/outOfOffice/{userId}",{userId:Pt().uid})),this.resetForm(),Lt(D("dav","Absence cleared"))}catch(a){vt(D("dav","Failed to clear your absence settings")),R.error("Could not clear absence",{error:a})}finally{this.loading=!1}}}},Pe={class:"absence__dates"},Le={for:"replacement-search-input"},ze={class:"absence__buttons"};function Ve(a,t,e,s,r,i){const o=G("NcDateTimePickerNative"),n=G("NcSelectUsers"),l=G("NcTextField"),u=G("NcTextArea"),c=G("NcButton");return B(),W("form",{class:"absence",onSubmit:t[5]||(t[5]=ye((...d)=>i.saveForm&&i.saveForm(...d),["prevent"]))},[it("div",Pe,[v(o,{id:"absence-first-day",modelValue:r.firstDay,"onUpdate:modelValue":t[0]||(t[0]=d=>r.firstDay=d),label:s.t("dav","First day"),class:"absence__dates__picker",required:!0},null,8,["modelValue","label"]),v(o,{id:"absence-last-day",modelValue:r.lastDay,"onUpdate:modelValue":t[1]||(t[1]=d=>r.lastDay=d),label:s.t("dav","Last day (inclusive)"),class:"absence__dates__picker",required:!0},null,8,["modelValue","label"])]),it("label",Le,tt(s.t("dav","Out of office replacement (optional)")),1),v(n,{modelValue:r.replacementUser,"onUpdate:modelValue":t[2]||(t[2]=d=>r.replacementUser=d),inputId:"replacement-search-input",loading:r.searchLoading,placeholder:s.t("dav","Name of the replacement"),options:r.options,onSearch:i.asyncFind},null,8,["modelValue","loading","placeholder","options","onSearch"]),v(l,{modelValue:r.status,"onUpdate:modelValue":t[3]||(t[3]=d=>r.status=d),label:s.t("dav","Short absence status"),required:!0},null,8,["modelValue","label"]),v(u,{modelValue:r.message,"onUpdate:modelValue":t[4]||(t[4]=d=>r.message=d),label:s.t("dav","Long absence Message"),required:!0},null,8,["modelValue","label"]),it("div",ze,[v(c,{disabled:r.loading||!i.valid,variant:"primary",type:"submit"},{default:et(()=>[Yt(tt(s.t("dav","Save")),1)]),_:1},8,["disabled"]),v(c,{disabled:r.loading||!i.valid,variant:"error",onClick:i.clearAbsence},{default:et(()=>[Yt(tt(s.t("dav","Disable absence")),1)]),_:1},8,["disabled","onClick"])])],32)}const He=de(Be,[["render",Ve],["__scopeId","data-v-272f0392"]]);var at={},dt={},qt;function We(){return qt||(qt=1,Object.defineProperty(dt,"__esModule",{value:!0}),dt.zonesMap=dt.defaultStart=void 0,dt.defaultStart="19700101T000000",dt.zonesMap=new Map([["Africa/Abidjan",{s:{f:"+0000",n:"GMT"}}],["Africa/Accra",{s:{f:"+0000",n:"GMT"}}],["Africa/Addis_Ababa",{s:{f:"+0300",n:"EAT"}}],["Africa/Algiers",{s:{f:"+0100",n:"CET"}}],["Africa/Asmara",{s:{f:"+0300",n:"EAT"}}],["Africa/Bamako",{s:{f:"+0000",n:"GMT"}}],["Africa/Bangui",{s:{f:"+0100",n:"WAT"}}],["Africa/Banjul",{s:{f:"+0000",n:"GMT"}}],["Africa/Bissau",{s:{f:"+0000",n:"GMT"}}],["Africa/Blantyre",{s:{f:"+0200",n:"CAT"}}],["Africa/Brazzaville",{s:{f:"+0100",n:"WAT"}}],["Africa/Bujumbura",{s:{f:"+0200",n:"CAT"}}],["Africa/Cairo",{s:{f:"+0200",n:"EET"}}],["Africa/Casablanca",{s:{f:"+0100",n:"+01"}}],["Africa/Ceuta",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Africa/Conakry",{s:{f:"+0000",n:"GMT"}}],["Africa/Dakar",{s:{f:"+0000",n:"GMT"}}],["Africa/Dar_es_Salaam",{s:{f:"+0300",n:"EAT"}}],["Africa/Djibouti",{s:{f:"+0300",n:"EAT"}}],["Africa/Douala",{s:{f:"+0100",n:"WAT"}}],["Africa/El_Aaiun",{s:{f:"+0100",n:"+01"}}],["Africa/Freetown",{s:{f:"+0000",n:"GMT"}}],["Africa/Gaborone",{s:{f:"+0200",n:"CAT"}}],["Africa/Harare",{s:{f:"+0200",n:"CAT"}}],["Africa/Johannesburg",{s:{f:"+0200",n:"SAST"}}],["Africa/Juba",{s:{f:"+0300",n:"EAT"}}],["Africa/Kampala",{s:{f:"+0300",n:"EAT"}}],["Africa/Khartoum",{s:{f:"+0200",n:"CAT"}}],["Africa/Kigali",{s:{f:"+0200",n:"CAT"}}],["Africa/Kinshasa",{s:{f:"+0100",n:"WAT"}}],["Africa/Lagos",{s:{f:"+0100",n:"WAT"}}],["Africa/Libreville",{s:{f:"+0100",n:"WAT"}}],["Africa/Lome",{s:{f:"+0000",n:"GMT"}}],["Africa/Luanda",{s:{f:"+0100",n:"WAT"}}],["Africa/Lubumbashi",{s:{f:"+0200",n:"CAT"}}],["Africa/Lusaka",{s:{f:"+0200",n:"CAT"}}],["Africa/Malabo",{s:{f:"+0100",n:"WAT"}}],["Africa/Maputo",{s:{f:"+0200",n:"CAT"}}],["Africa/Maseru",{s:{f:"+0200",n:"SAST"}}],["Africa/Mbabane",{s:{f:"+0200",n:"SAST"}}],["Africa/Mogadishu",{s:{f:"+0300",n:"EAT"}}],["Africa/Monrovia",{s:{f:"+0000",n:"GMT"}}],["Africa/Nairobi",{s:{f:"+0300",n:"EAT"}}],["Africa/Ndjamena",{s:{f:"+0100",n:"WAT"}}],["Africa/Niamey",{s:{f:"+0100",n:"WAT"}}],["Africa/Nouakchott",{s:{f:"+0000",n:"GMT"}}],["Africa/Ouagadougou",{s:{f:"+0000",n:"GMT"}}],["Africa/Porto-Novo",{s:{f:"+0100",n:"WAT"}}],["Africa/Sao_Tome",{s:{f:"+0100",n:"WAT"}}],["Africa/Tripoli",{s:{f:"+0200",n:"EET"}}],["Africa/Tunis",{s:{f:"+0100",n:"CET"}}],["Africa/Windhoek",{s:{f:"+0200",n:"CAT"}}],["America/Adak",{s:{f:"-0900",t:"-1000",n:"HST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-1000",t:"-0900",n:"HDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Anchorage",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Anguilla",{s:{f:"-0400",n:"AST"}}],["America/Antigua",{s:{f:"-0400",n:"AST"}}],["America/Araguaina",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Buenos_Aires",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Catamarca",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Cordoba",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Jujuy",{s:{f:"-0300",n:"-03"}}],["America/Argentina/La_Rioja",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Mendoza",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Rio_Gallegos",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Salta",{s:{f:"-0300",n:"-03"}}],["America/Argentina/San_Juan",{s:{f:"-0300",n:"-03"}}],["America/Argentina/San_Luis",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Tucuman",{s:{f:"-0300",n:"-03"}}],["America/Argentina/Ushuaia",{s:{f:"-0300",n:"-03"}}],["America/Aruba",{s:{f:"-0400",n:"AST"}}],["America/Asuncion",{s:{f:"-0300",t:"-0400",n:"-04",s:"19700322T000000",r:{m:3,d:"4SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701004T000000",r:{m:10,d:"1SU"}}}],["America/Atikokan",{s:{f:"-0500",n:"EST"}}],["America/Bahia_Banderas",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Bahia",{s:{f:"-0300",n:"-03"}}],["America/Barbados",{s:{f:"-0400",n:"AST"}}],["America/Belem",{s:{f:"-0300",n:"-03"}}],["America/Belize",{s:{f:"-0600",n:"CST"}}],["America/Blanc-Sablon",{s:{f:"-0400",n:"AST"}}],["America/Boa_Vista",{s:{f:"-0400",n:"-04"}}],["America/Bogota",{s:{f:"-0500",n:"-05"}}],["America/Boise",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Cambridge_Bay",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Campo_Grande",{s:{f:"-0400",n:"-04",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Cancun",{s:{f:"-0500",n:"EST"}}],["America/Caracas",{s:{f:"-0400",n:"-04"}}],["America/Cayenne",{s:{f:"-0300",n:"-03"}}],["America/Cayman",{s:{f:"-0500",n:"EST"}}],["America/Chicago",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Chihuahua",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Costa_Rica",{s:{f:"-0600",n:"CST"}}],["America/Creston",{s:{f:"-0700",n:"MST"}}],["America/Cuiaba",{s:{f:"-0400",n:"-04",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Curacao",{s:{f:"-0400",n:"AST"}}],["America/Danmarkshavn",{s:{f:"+0000",n:"GMT"}}],["America/Dawson_Creek",{s:{f:"-0700",n:"MST"}}],["America/Dawson",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Denver",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Detroit",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Dominica",{s:{f:"-0400",n:"AST"}}],["America/Edmonton",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Eirunepe",{s:{f:"-0500",n:"-05"}}],["America/El_Salvador",{s:{f:"-0600",n:"CST"}}],["America/Fort_Nelson",{s:{f:"-0700",n:"MST"}}],["America/Fortaleza",{s:{f:"-0300",n:"-03"}}],["America/Glace_Bay",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Godthab",{s:{f:"-0200",t:"-0300",n:"-03",s:"19701024T230000",r:{m:10,d:"-1SA"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19700328T220000",r:{m:3,d:"-1SA"}}}],["America/Goose_Bay",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Grand_Turk",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Grenada",{s:{f:"-0400",n:"AST"}}],["America/Guadeloupe",{s:{f:"-0400",n:"AST"}}],["America/Guatemala",{s:{f:"-0600",n:"CST"}}],["America/Guayaquil",{s:{f:"-0500",n:"-05"}}],["America/Guyana",{s:{f:"-0400",n:"-04"}}],["America/Halifax",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Havana",{s:{f:"-0400",t:"-0500",n:"CST",s:"19701101T010000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"CDT",s:"19700308T000000",r:{m:3,d:"2SU"}}}],["America/Hermosillo",{s:{f:"-0700",n:"MST"}}],["America/Indiana/Indianapolis",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Knox",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Marengo",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Petersburg",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Tell_City",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Vevay",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Vincennes",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Indiana/Winamac",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Inuvik",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Iqaluit",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Jamaica",{s:{f:"-0500",n:"EST"}}],["America/Juneau",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kentucky/Louisville",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kentucky/Monticello",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Kralendijk",{s:{f:"-0400",n:"AST"}}],["America/La_Paz",{s:{f:"-0400",n:"-04"}}],["America/Lima",{s:{f:"-0500",n:"-05"}}],["America/Los_Angeles",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Lower_Princes",{s:{f:"-0400",n:"AST"}}],["America/Maceio",{s:{f:"-0300",n:"-03"}}],["America/Managua",{s:{f:"-0600",n:"CST"}}],["America/Manaus",{s:{f:"-0400",n:"-04"}}],["America/Marigot",{s:{f:"-0400",n:"AST"}}],["America/Martinique",{s:{f:"-0400",n:"AST"}}],["America/Matamoros",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Mazatlan",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Menominee",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Merida",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Metlakatla",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Mexico_City",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Miquelon",{s:{f:"-0200",t:"-0300",n:"-03",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Moncton",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Monterrey",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700405T020000",r:{m:4,d:"1SU"}}}],["America/Montevideo",{s:{f:"-0300",n:"-03"}}],["America/Montserrat",{s:{f:"-0400",n:"AST"}}],["America/Nassau",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/New_York",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Nipigon",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Nome",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Noronha",{s:{f:"-0200",n:"-02"}}],["America/North_Dakota/Beulah",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/North_Dakota/Center",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/North_Dakota/New_Salem",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Ojinaga",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Panama",{s:{f:"-0500",n:"EST"}}],["America/Pangnirtung",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Paramaribo",{s:{f:"-0300",n:"-03"}}],["America/Phoenix",{s:{f:"-0700",n:"MST"}}],["America/Port_of_Spain",{s:{f:"-0400",n:"AST"}}],["America/Port-au-Prince",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Porto_Velho",{s:{f:"-0400",n:"-04"}}],["America/Puerto_Rico",{s:{f:"-0400",n:"AST"}}],["America/Punta_Arenas",{s:{f:"-0300",n:"-03"}}],["America/Rainy_River",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Rankin_Inlet",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Recife",{s:{f:"-0300",n:"-03"}}],["America/Regina",{s:{f:"-0600",n:"CST"}}],["America/Resolute",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Rio_Branco",{s:{f:"-0500",n:"-05"}}],["America/Santarem",{s:{f:"-0300",n:"-03"}}],["America/Santiago",{s:{f:"-0300",t:"-0400",n:"-04",s:"19700405T000000",r:{m:4,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"-03",s:"19700906T000000",r:{m:9,d:"1SU"}}}],["America/Santo_Domingo",{s:{f:"-0400",n:"AST"}}],["America/Sao_Paulo",{s:{f:"-0300",n:"-03",s:"19700215T000000",r:{m:2,d:"3SU"}},d:{f:"-0300",t:"-0200",n:"-02",s:"19701101T000000",r:{m:11,d:"1SU"}}}],["America/Scoresbysund",{s:{f:"+0000",t:"-0100",n:"-01",s:"19701025T010000",r:{m:10,d:"-1SU"}},d:{f:"-0100",t:"+0000",n:"+00",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["America/Sitka",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/St_Barthelemy",{s:{f:"-0400",n:"AST"}}],["America/St_Johns",{s:{f:"-0230",t:"-0330",n:"NST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0330",t:"-0230",n:"NDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/St_Kitts",{s:{f:"-0400",n:"AST"}}],["America/St_Lucia",{s:{f:"-0400",n:"AST"}}],["America/St_Thomas",{s:{f:"-0400",n:"AST"}}],["America/St_Vincent",{s:{f:"-0400",n:"AST"}}],["America/Swift_Current",{s:{f:"-0600",n:"CST"}}],["America/Tegucigalpa",{s:{f:"-0600",n:"CST"}}],["America/Thule",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Thunder_Bay",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Tijuana",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Toronto",{s:{f:"-0400",t:"-0500",n:"EST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0500",t:"-0400",n:"EDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Tortola",{s:{f:"-0400",n:"AST"}}],["America/Vancouver",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Whitehorse",{s:{f:"-0700",t:"-0800",n:"PST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0800",t:"-0700",n:"PDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Winnipeg",{s:{f:"-0500",t:"-0600",n:"CST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0600",t:"-0500",n:"CDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Yakutat",{s:{f:"-0800",t:"-0900",n:"AKST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0900",t:"-0800",n:"AKDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["America/Yellowknife",{s:{f:"-0600",t:"-0700",n:"MST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0700",t:"-0600",n:"MDT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["Antarctica/Casey",{s:{f:"+0800",n:"+08"}}],["Antarctica/Davis",{s:{f:"+0700",n:"+07"}}],["Antarctica/DumontDUrville",{s:{f:"+1000",n:"+10"}}],["Antarctica/Macquarie",{s:{f:"+1100",n:"+11"}}],["Antarctica/Mawson",{s:{f:"+0500",n:"+05"}}],["Antarctica/McMurdo",{s:{f:"+1300",t:"+1200",n:"NZST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1200",t:"+1300",n:"NZDT",s:"19700927T020000",r:{m:9,d:"-1SU"}}}],["Antarctica/Palmer",{s:{f:"-0300",n:"-03"}}],["Antarctica/Rothera",{s:{f:"-0300",n:"-03"}}],["Antarctica/Syowa",{s:{f:"+0300",n:"+03"}}],["Antarctica/Troll",{s:{f:"+0200",t:"+0000",n:"+00",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0200",n:"+02",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Antarctica/Vostok",{s:{f:"+0600",n:"+06"}}],["Arctic/Longyearbyen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Asia/Aden",{s:{f:"+0300",n:"+03"}}],["Asia/Almaty",{s:{f:"+0600",n:"+06"}}],["Asia/Amman",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701030T010000",r:{m:10,d:"-1FR"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700326T235959",r:{m:3,d:"-1TH"}}}],["Asia/Anadyr",{s:{f:"+1200",n:"+12"}}],["Asia/Aqtau",{s:{f:"+0500",n:"+05"}}],["Asia/Aqtobe",{s:{f:"+0500",n:"+05"}}],["Asia/Ashgabat",{s:{f:"+0500",n:"+05"}}],["Asia/Atyrau",{s:{f:"+0500",n:"+05"}}],["Asia/Baghdad",{s:{f:"+0300",n:"+03"}}],["Asia/Bahrain",{s:{f:"+0300",n:"+03"}}],["Asia/Baku",{s:{f:"+0400",n:"+04"}}],["Asia/Bangkok",{s:{f:"+0700",n:"+07"}}],["Asia/Barnaul",{s:{f:"+0700",n:"+07"}}],["Asia/Beirut",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T000000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["Asia/Bishkek",{s:{f:"+0600",n:"+06"}}],["Asia/Brunei",{s:{f:"+0800",n:"+08"}}],["Asia/Chita",{s:{f:"+0900",n:"+09"}}],["Asia/Choibalsan",{s:{f:"+0800",n:"+08"}}],["Asia/Colombo",{s:{f:"+0530",n:"+0530"}}],["Asia/Damascus",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701030T000000",r:{m:10,d:"-1FR"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700327T000000",r:{m:3,d:"-1FR"}}}],["Asia/Dhaka",{s:{f:"+0600",n:"+06"}}],["Asia/Dili",{s:{f:"+0900",n:"+09"}}],["Asia/Dubai",{s:{f:"+0400",n:"+04"}}],["Asia/Dushanbe",{s:{f:"+0500",n:"+05"}}],["Asia/Famagusta",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Asia/Gaza",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701031T010000",r:{m:10,d:"-1SA"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700328T010000",r:{m:3,d:"4SA"}}}],["Asia/Hebron",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701031T010000",r:{m:10,d:"-1SA"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700328T010000",r:{m:3,d:"4SA"}}}],["Asia/Ho_Chi_Minh",{s:{f:"+0700",n:"+07"}}],["Asia/Hong_Kong",{s:{f:"+0800",n:"HKT"}}],["Asia/Hovd",{s:{f:"+0700",n:"+07"}}],["Asia/Irkutsk",{s:{f:"+0800",n:"+08"}}],["Asia/Istanbul",{s:{f:"+0300",n:"+03"}}],["Asia/Jakarta",{s:{f:"+0700",n:"WIB"}}],["Asia/Jayapura",{s:{f:"+0900",n:"WIT"}}],["Asia/Jerusalem",{s:{f:"+0300",t:"+0200",n:"IST",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"IDT",s:"19700327T020000",r:{m:3,d:"-1FR"}}}],["Asia/Kabul",{s:{f:"+0430",n:"+0430"}}],["Asia/Kamchatka",{s:{f:"+1200",n:"+12"}}],["Asia/Karachi",{s:{f:"+0500",n:"PKT"}}],["Asia/Kathmandu",{s:{f:"+0545",n:"+0545"}}],["Asia/Khandyga",{s:{f:"+0900",n:"+09"}}],["Asia/Kolkata",{s:{f:"+0530",n:"IST"}}],["Asia/Krasnoyarsk",{s:{f:"+0700",n:"+07"}}],["Asia/Kuala_Lumpur",{s:{f:"+0800",n:"+08"}}],["Asia/Kuching",{s:{f:"+0800",n:"+08"}}],["Asia/Kuwait",{s:{f:"+0300",n:"+03"}}],["Asia/Macau",{s:{f:"+0800",n:"CST"}}],["Asia/Magadan",{s:{f:"+1100",n:"+11"}}],["Asia/Makassar",{s:{f:"+0800",n:"WITA"}}],["Asia/Manila",{s:{f:"+0800",n:"PST"}}],["Asia/Muscat",{s:{f:"+0400",n:"+04"}}],["Asia/Nicosia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Asia/Novokuznetsk",{s:{f:"+0700",n:"+07"}}],["Asia/Novosibirsk",{s:{f:"+0700",n:"+07"}}],["Asia/Omsk",{s:{f:"+0600",n:"+06"}}],["Asia/Oral",{s:{f:"+0500",n:"+05"}}],["Asia/Phnom_Penh",{s:{f:"+0700",n:"+07"}}],["Asia/Pontianak",{s:{f:"+0700",n:"WIB"}}],["Asia/Pyongyang",{s:{f:"+0900",n:"KST"}}],["Asia/Qatar",{s:{f:"+0300",n:"+03"}}],["Asia/Qyzylorda",{s:{f:"+0600",n:"+06"}}],["Asia/Riyadh",{s:{f:"+0300",n:"+03"}}],["Asia/Sakhalin",{s:{f:"+1100",n:"+11"}}],["Asia/Samarkand",{s:{f:"+0500",n:"+05"}}],["Asia/Seoul",{s:{f:"+0900",n:"KST"}}],["Asia/Shanghai",{s:{f:"+0800",n:"CST"}}],["Asia/Singapore",{s:{f:"+0800",n:"+08"}}],["Asia/Srednekolymsk",{s:{f:"+1100",n:"+11"}}],["Asia/Taipei",{s:{f:"+0800",n:"CST"}}],["Asia/Tashkent",{s:{f:"+0500",n:"+05"}}],["Asia/Tbilisi",{s:{f:"+0400",n:"+04"}}],["Asia/Tehran",{s:{f:"+0430",t:"+0330",n:"+0330",s:"19700921T000000",r:{m:9,d:"3SU"}},d:{f:"+0330",t:"+0430",n:"+0430",s:"19700321T000000",r:{m:3,d:"3SU"}}}],["Asia/Thimphu",{s:{f:"+0600",n:"+06"}}],["Asia/Tokyo",{s:{f:"+0900",n:"JST"}}],["Asia/Tomsk",{s:{f:"+0700",n:"+07"}}],["Asia/Ulaanbaatar",{s:{f:"+0800",n:"+08"}}],["Asia/Urumqi",{s:{f:"+0600",n:"+06"}}],["Asia/Ust-Nera",{s:{f:"+1000",n:"+10"}}],["Asia/Vientiane",{s:{f:"+0700",n:"+07"}}],["Asia/Vladivostok",{s:{f:"+1000",n:"+10"}}],["Asia/Yakutsk",{s:{f:"+0900",n:"+09"}}],["Asia/Yangon",{s:{f:"+0630",n:"+0630"}}],["Asia/Yekaterinburg",{s:{f:"+0500",n:"+05"}}],["Asia/Yerevan",{s:{f:"+0400",n:"+04"}}],["Atlantic/Azores",{s:{f:"+0000",t:"-0100",n:"-01",s:"19701025T010000",r:{m:10,d:"-1SU"}},d:{f:"-0100",t:"+0000",n:"+00",s:"19700329T000000",r:{m:3,d:"-1SU"}}}],["Atlantic/Bermuda",{s:{f:"-0300",t:"-0400",n:"AST",s:"19701101T020000",r:{m:11,d:"1SU"}},d:{f:"-0400",t:"-0300",n:"ADT",s:"19700308T020000",r:{m:3,d:"2SU"}}}],["Atlantic/Canary",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Cape_Verde",{s:{f:"-0100",n:"-01"}}],["Atlantic/Faroe",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Madeira",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Atlantic/Reykjavik",{s:{f:"+0000",n:"GMT"}}],["Atlantic/South_Georgia",{s:{f:"-0200",n:"-02"}}],["Atlantic/St_Helena",{s:{f:"+0000",n:"GMT"}}],["Atlantic/Stanley",{s:{f:"-0300",n:"-03"}}],["Australia/Adelaide",{s:{f:"+1030",t:"+0930",n:"ACST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+0930",t:"+1030",n:"ACDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Brisbane",{s:{f:"+1000",n:"AEST"}}],["Australia/Broken_Hill",{s:{f:"+1030",t:"+0930",n:"ACST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+0930",t:"+1030",n:"ACDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Currie",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Darwin",{s:{f:"+0930",n:"ACST"}}],["Australia/Eucla",{s:{f:"+0845",n:"+0845"}}],["Australia/Hobart",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Lindeman",{s:{f:"+1000",n:"AEST"}}],["Australia/Lord_Howe",{s:{f:"+1100",t:"+1030",n:"+1030",s:"19700405T020000",r:{m:4,d:"1SU"}},d:{f:"+1030",t:"+1100",n:"+11",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Melbourne",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Australia/Perth",{s:{f:"+0800",n:"AWST"}}],["Australia/Sydney",{s:{f:"+1100",t:"+1000",n:"AEST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1000",t:"+1100",n:"AEDT",s:"19701004T020000",r:{m:10,d:"1SU"}}}],["Etc/GMT-0",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT-1",{s:{f:"-0100",n:"-01"}}],["Etc/GMT-10",{s:{f:"-1000",n:"-10"}}],["Etc/GMT-11",{s:{f:"-1100",n:"-11"}}],["Etc/GMT-12",{s:{f:"-1200",n:"-12"}}],["Etc/GMT-2",{s:{f:"-0200",n:"-02"}}],["Etc/GMT-3",{s:{f:"-0300",n:"-03"}}],["Etc/GMT-4",{s:{f:"-0400",n:"-04"}}],["Etc/GMT-5",{s:{f:"-0500",n:"-05"}}],["Etc/GMT-6",{s:{f:"-0600",n:"-06"}}],["Etc/GMT-7",{s:{f:"-0700",n:"-07"}}],["Etc/GMT-8",{s:{f:"-0800",n:"-08"}}],["Etc/GMT-9",{s:{f:"-0900",n:"-09"}}],["Etc/GMT",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT+0",{s:{f:"+0000",n:"GMT"}}],["Etc/GMT+1",{s:{f:"+0100",n:"+01"}}],["Etc/GMT+10",{s:{f:"+1000",n:"+10"}}],["Etc/GMT+11",{s:{f:"+1100",n:"+11"}}],["Etc/GMT+12",{s:{f:"+1200",n:"+12"}}],["Etc/GMT+13",{s:{f:"+1300",n:"+13"}}],["Etc/GMT+14",{s:{f:"+1400",n:"+14"}}],["Etc/GMT+2",{s:{f:"+0200",n:"+02"}}],["Etc/GMT+3",{s:{f:"+0300",n:"+03"}}],["Etc/GMT+4",{s:{f:"+0400",n:"+04"}}],["Etc/GMT+5",{s:{f:"+0500",n:"+05"}}],["Etc/GMT+6",{s:{f:"+0600",n:"+06"}}],["Etc/GMT+7",{s:{f:"+0700",n:"+07"}}],["Etc/GMT+8",{s:{f:"+0800",n:"+08"}}],["Etc/GMT+9",{s:{f:"+0900",n:"+09"}}],["Etc/GMT0",{s:{f:"+0000",n:"GMT"}}],["Etc/Greenwich",{s:{f:"+0000",n:"GMT"}}],["Etc/UCT",{s:{f:"+0000",n:"UCT"}}],["Etc/Universal",{s:{f:"+0000",n:"UTC"}}],["Etc/UTC",{s:{f:"+0000",n:"UTC"}}],["Etc/Zulu",{s:{f:"+0000",n:"UTC"}}],["Europe/Amsterdam",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Andorra",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Astrakhan",{s:{f:"+0400",n:"+04"}}],["Europe/Athens",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Belgrade",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Berlin",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Bratislava",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Brussels",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Bucharest",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Budapest",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Busingen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Chisinau",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Copenhagen",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Dublin",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"IST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Gibraltar",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Guernsey",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Helsinki",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Isle_of_Man",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Istanbul",{s:{f:"+0300",n:"+03"}}],["Europe/Jersey",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Kaliningrad",{s:{f:"+0200",n:"EET"}}],["Europe/Kiev",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Kirov",{s:{f:"+0300",n:"+03"}}],["Europe/Lisbon",{s:{f:"+0100",t:"+0000",n:"WET",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"WEST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Ljubljana",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/London",{s:{f:"+0100",t:"+0000",n:"GMT",s:"19701025T020000",r:{m:10,d:"-1SU"}},d:{f:"+0000",t:"+0100",n:"BST",s:"19700329T010000",r:{m:3,d:"-1SU"}}}],["Europe/Luxembourg",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Madrid",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Malta",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Mariehamn",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Minsk",{s:{f:"+0300",n:"+03"}}],["Europe/Monaco",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Moscow",{s:{f:"+0300",n:"MSK"}}],["Europe/Nicosia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Oslo",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Paris",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Podgorica",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Prague",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Riga",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Rome",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Samara",{s:{f:"+0400",n:"+04"}}],["Europe/San_Marino",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Sarajevo",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Saratov",{s:{f:"+0400",n:"+04"}}],["Europe/Simferopol",{s:{f:"+0300",n:"MSK"}}],["Europe/Skopje",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Sofia",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Stockholm",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Tallinn",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Tirane",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Ulyanovsk",{s:{f:"+0400",n:"+04"}}],["Europe/Uzhgorod",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Vaduz",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vatican",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vienna",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Vilnius",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Volgograd",{s:{f:"+0400",n:"+04"}}],["Europe/Warsaw",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Zagreb",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Europe/Zaporozhye",{s:{f:"+0300",t:"+0200",n:"EET",s:"19701025T040000",r:{m:10,d:"-1SU"}},d:{f:"+0200",t:"+0300",n:"EEST",s:"19700329T030000",r:{m:3,d:"-1SU"}}}],["Europe/Zurich",{s:{f:"+0200",t:"+0100",n:"CET",s:"19701025T030000",r:{m:10,d:"-1SU"}},d:{f:"+0100",t:"+0200",n:"CEST",s:"19700329T020000",r:{m:3,d:"-1SU"}}}],["Indian/Antananarivo",{s:{f:"+0300",n:"EAT"}}],["Indian/Chagos",{s:{f:"+0600",n:"+06"}}],["Indian/Christmas",{s:{f:"+0700",n:"+07"}}],["Indian/Cocos",{s:{f:"+0630",n:"+0630"}}],["Indian/Comoro",{s:{f:"+0300",n:"EAT"}}],["Indian/Kerguelen",{s:{f:"+0500",n:"+05"}}],["Indian/Mahe",{s:{f:"+0400",n:"+04"}}],["Indian/Maldives",{s:{f:"+0500",n:"+05"}}],["Indian/Mauritius",{s:{f:"+0400",n:"+04"}}],["Indian/Mayotte",{s:{f:"+0300",n:"EAT"}}],["Indian/Reunion",{s:{f:"+0400",n:"+04"}}],["Pacific/Apia",{s:{f:"+1400",t:"+1300",n:"+13",s:"19700405T040000",r:{m:4,d:"1SU"}},d:{f:"+1300",t:"+1400",n:"+14",s:"19700927T030000",r:{m:9,d:"-1SU"}}}],["Pacific/Auckland",{s:{f:"+1300",t:"+1200",n:"NZST",s:"19700405T030000",r:{m:4,d:"1SU"}},d:{f:"+1200",t:"+1300",n:"NZDT",s:"19700927T020000",r:{m:9,d:"-1SU"}}}],["Pacific/Bougainville",{s:{f:"+1100",n:"+11"}}],["Pacific/Chatham",{s:{f:"+1345",t:"+1245",n:"+1245",s:"19700405T034500",r:{m:4,d:"1SU"}},d:{f:"+1245",t:"+1345",n:"+1345",s:"19700927T024500",r:{m:9,d:"-1SU"}}}],["Pacific/Chuuk",{s:{f:"+1000",n:"+10"}}],["Pacific/Easter",{s:{f:"-0500",t:"-0600",n:"-06",s:"19700404T220000",r:{m:4,d:"1SA"}},d:{f:"-0600",t:"-0500",n:"-05",s:"19700905T220000",r:{m:9,d:"1SA"}}}],["Pacific/Efate",{s:{f:"+1100",n:"+11"}}],["Pacific/Enderbury",{s:{f:"+1300",n:"+13"}}],["Pacific/Fakaofo",{s:{f:"+1300",n:"+13"}}],["Pacific/Fiji",{s:{f:"+1300",t:"+1200",n:"+12",s:"19700118T030000",r:{m:1,d:"-2SU"}},d:{f:"+1200",t:"+1300",n:"+13",s:"19701101T020000",r:{m:11,d:"1SU"}}}],["Pacific/Funafuti",{s:{f:"+1200",n:"+12"}}],["Pacific/Galapagos",{s:{f:"-0600",n:"-06"}}],["Pacific/Gambier",{s:{f:"-0900",n:"-09"}}],["Pacific/Guadalcanal",{s:{f:"+1100",n:"+11"}}],["Pacific/Guam",{s:{f:"+1000",n:"ChST"}}],["Pacific/Honolulu",{s:{f:"-1000",n:"HST"}}],["Pacific/Kiritimati",{s:{f:"+1400",n:"+14"}}],["Pacific/Kosrae",{s:{f:"+1100",n:"+11"}}],["Pacific/Kwajalein",{s:{f:"+1200",n:"+12"}}],["Pacific/Majuro",{s:{f:"+1200",n:"+12"}}],["Pacific/Marquesas",{s:{f:"-0930",n:"-0930"}}],["Pacific/Midway",{s:{f:"-1100",n:"SST"}}],["Pacific/Nauru",{s:{f:"+1200",n:"+12"}}],["Pacific/Niue",{s:{f:"-1100",n:"-11"}}],["Pacific/Norfolk",{s:{f:"+1100",n:"+11"}}],["Pacific/Noumea",{s:{f:"+1100",n:"+11"}}],["Pacific/Pago_Pago",{s:{f:"-1100",n:"SST"}}],["Pacific/Palau",{s:{f:"+0900",n:"+09"}}],["Pacific/Pitcairn",{s:{f:"-0800",n:"-08"}}],["Pacific/Pohnpei",{s:{f:"+1100",n:"+11"}}],["Pacific/Port_Moresby",{s:{f:"+1000",n:"+10"}}],["Pacific/Rarotonga",{s:{f:"-1000",n:"-10"}}],["Pacific/Saipan",{s:{f:"+1000",n:"ChST"}}],["Pacific/Tahiti",{s:{f:"-1000",n:"-10"}}],["Pacific/Tarawa",{s:{f:"+1200",n:"+12"}}],["Pacific/Tongatapu",{s:{f:"+1300",n:"+13"}}],["Pacific/Wake",{s:{f:"+1200",n:"+12"}}],["Pacific/Wallis",{s:{f:"+1200",n:"+12"}}]])),dt}var Zt;function je(){if(Zt)return at;Zt=1,Object.defineProperty(at,"__esModule",{value:!0}),at.getZoneString=at.getZoneLines=void 0;const a=We();function t(r){const{n:i,f:o,t:n,r:l,s:u}=r;return[`TZNAME:${i}`,`TZOFFSETFROM:${o}`,`TZOFFSETTO:${n||o}`,`DTSTART:${u||a.defaultStart}`,...l?[`RRULE:FREQ=${l.f||"YEARLY"};BYMONTH=${l.m};BYDAY=${l.d}`]:[]]}function e(r,i=!0){const o=a.zonesMap.get(r);if(o){const{s:n,d:l}=o;return[...i?["BEGIN:VTIMEZONE"]:[],`TZID:${r}`,"BEGIN:STANDARD",...t(n),"END:STANDARD",...l?["BEGIN:DAYLIGHT",...t(l),"END:DAYLIGHT"]:[],...i?["END:VTIMEZONE"]:[]]}}at.getZoneLines=e;function s(r,i=!0){return e(r,i)?.join(`\r
|
|
`)}return at.getZoneString=s,at}var Re=je();class Mt{static fromString(t){return new Mt(t)}constructor(t){this.value=t}icaltype="binary";decodeValue(){return this._b64_decode(this.value)}setEncodedValue(t){this.value=this._b64_encode(t)}_b64_encode(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s,r,i,o,n,l,u,c,d=0,m=0,p="",y=[];if(!t)return t;do s=t.charCodeAt(d++),r=t.charCodeAt(d++),i=t.charCodeAt(d++),c=s<<16|r<<8|i,o=c>>18&63,n=c>>12&63,l=c>>6&63,u=c&63,y[m++]=e.charAt(o)+e.charAt(n)+e.charAt(l)+e.charAt(u);while(d<t.length);p=y.join("");let f=t.length%3;return(f?p.slice(0,f-3):p)+"===".slice(f||3)}_b64_decode(t){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s,r,i,o,n,l,u,c,d=0,m=0,p="",y=[];if(!t)return t;t+="";do o=e.indexOf(t.charAt(d++)),n=e.indexOf(t.charAt(d++)),l=e.indexOf(t.charAt(d++)),u=e.indexOf(t.charAt(d++)),c=o<<18|n<<12|l<<6|u,s=c>>16&255,r=c>>8&255,i=c&255,l==64?y[m++]=String.fromCharCode(s):u==64?y[m++]=String.fromCharCode(s,r):y[m++]=String.fromCharCode(s,r,i);while(d<t.length);return p=y.join(""),p}toString(){return this.value}}const Fe=/([PDWHMTS]{1,1})/,Ge=["weeks","days","hours","minutes","seconds","isNegative"];class M{static fromSeconds(t){return new M().fromSeconds(t)}static isValueString(t){return t[0]==="P"||t[1]==="P"}static fromString(t){let e=0,s=Object.create(null),r=0;for(;(e=t.search(Fe))!==-1;){let i=t[e],o=t.slice(0,Math.max(0,e));t=t.slice(e+1),r+=Ke(i,o,s)}if(r<2)throw new Error('invalid duration value: Not enough duration components in "'+t+'"');return new M(s)}static fromData(t){return new M(t)}constructor(t){this.wrappedJSObject=this,this.fromData(t)}weeks=0;days=0;hours=0;minutes=0;seconds=0;isNegative=!1;icalclass="icalduration";icaltype="duration";clone(){return M.fromData(this)}toSeconds(){let t=this.seconds+60*this.minutes+3600*this.hours+86400*this.days+604800*this.weeks;return this.isNegative?-t:t}fromSeconds(t){let e=Math.abs(t);return this.isNegative=t<0,this.days=C(e/86400),this.days%7==0?(this.weeks=this.days/7,this.days=0):this.weeks=0,e-=(this.days+7*this.weeks)*86400,this.hours=C(e/3600),e-=this.hours*3600,this.minutes=C(e/60),e-=this.minutes*60,this.seconds=e,this}fromData(t){for(let e of Ge)t&&e in t?this[e]=t[e]:this[e]=0}reset(){this.isNegative=!1,this.weeks=0,this.days=0,this.hours=0,this.minutes=0,this.seconds=0}compare(t){let e=this.toSeconds(),s=t.toSeconds();return(e>s)-(e<s)}normalize(){this.fromSeconds(this.toSeconds())}toString(){if(this.toSeconds()==0)return"PT0S";{let t="";this.isNegative&&(t+="-"),t+="P";let e=!1;return this.weeks?this.days||this.hours||this.minutes||this.seconds?t+=this.weeks*7+this.days+"D":(t+=this.weeks+"W",e=!0):this.days&&(t+=this.days+"D"),e||(this.hours||this.minutes||this.seconds)&&(t+="T",this.hours&&(t+=this.hours+"H"),this.minutes&&(t+=this.minutes+"M"),this.seconds&&(t+=this.seconds+"S")),t}}toICALString(){return this.toString()}}function Ke(a,t,e){let s;switch(a){case"P":t&&t==="-"?e.isNegative=!0:e.isNegative=!1;break;case"D":s="days";break;case"W":s="weeks";break;case"H":s="hours";break;case"M":s="minutes";break;case"S":s="seconds";break;default:return 0}if(s){if(!t&&t!==0)throw new Error('invalid duration value: Missing number before "'+a+'"');let r=parseInt(t,10);if(ft(r))throw new Error('invalid duration value: Invalid number "'+t+'" before "'+a+'"');e[s]=r}return 1}class K{static fromString(t,e){let s=t.split("/");if(s.length!==2)throw new Error('Invalid string value: "'+t+'" must contain a "/" char.');let r={start:h.fromDateTimeString(s[0],e)},i=s[1];return M.isValueString(i)?r.duration=M.fromString(i):r.end=h.fromDateTimeString(i,e),new K(r)}static fromData(t){return new K(t)}static fromJSON(t,e,s){function r(i,o){return s?h.fromString(i,o):h.fromDateTimeString(i,o)}return M.isValueString(t[1])?K.fromData({start:r(t[0],e),duration:M.fromString(t[1])}):K.fromData({start:r(t[0],e),end:r(t[1],e)})}constructor(t){if(this.wrappedJSObject=this,t&&"start"in t){if(t.start&&!(t.start instanceof h))throw new TypeError(".start must be an instance of ICAL.Time");this.start=t.start}if(t&&t.end&&t.duration)throw new Error("cannot accept both end and duration");if(t&&"end"in t){if(t.end&&!(t.end instanceof h))throw new TypeError(".end must be an instance of ICAL.Time");this.end=t.end}if(t&&"duration"in t){if(t.duration&&!(t.duration instanceof M))throw new TypeError(".duration must be an instance of ICAL.Duration");this.duration=t.duration}}start=null;end=null;duration=null;icalclass="icalperiod";icaltype="period";clone(){return K.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 t=this.start.clone();return t.addDuration(this.duration),t}}compare(t){return t.compare(this.start)<0?1:t.compare(this.getEnd())>0?-1:0}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()}}class h{static _dowCache={};static _wnCache={};static daysInMonth(t,e){let s=[0,31,28,31,30,31,30,31,31,30,31,30,31],r=30;return t<1||t>12||(r=s[t],t==2&&(r+=h.isLeapYear(e))),r}static isLeapYear(t){return t<=1752?t%4==0:t%4==0&&t%100!=0||t%400==0}static fromDayOfYear(t,e){let s=e,r=t,i=new h;i.auto_normalize=!1;let o=h.isLeapYear(s)?1:0;if(r<1)return s--,o=h.isLeapYear(s)?1:0,r+=h.daysInYearPassedMonth[o][12],h.fromDayOfYear(r,s);if(r>h.daysInYearPassedMonth[o][12])return o=h.isLeapYear(s)?1:0,r-=h.daysInYearPassedMonth[o][12],s++,h.fromDayOfYear(r,s);i.year=s,i.isDate=!0;for(let n=11;n>=0;n--)if(r>h.daysInYearPassedMonth[o][n]){i.month=n+1,i.day=r-h.daysInYearPassedMonth[o][n];break}return i.auto_normalize=!0,i}static fromStringv2(t){return new h({year:parseInt(t.slice(0,4),10),month:parseInt(t.slice(5,7),10),day:parseInt(t.slice(8,10),10),isDate:!0})}static fromDateString(t){return new h({year:O(t.slice(0,4)),month:O(t.slice(5,7)),day:O(t.slice(8,10)),isDate:!0})}static fromDateTimeString(t,e){if(t.length<19)throw new Error('invalid date-time value: "'+t+'"');let s,r;t.slice(-1)==="Z"?s=T.utcTimezone:e&&(r=e.getParameter("tzid"),e.parent&&(e.parent.name==="standard"||e.parent.name==="daylight"?s=T.localTimezone:r&&(s=e.parent.getTimeZoneByID(r))));const i={year:O(t.slice(0,4)),month:O(t.slice(5,7)),day:O(t.slice(8,10)),hour:O(t.slice(11,13)),minute:O(t.slice(14,16)),second:O(t.slice(17,19))};return r&&!s&&(i.timezone=r),new h(i,s)}static fromString(t,e){return t.length>10?h.fromDateTimeString(t,e):h.fromDateString(t)}static fromJSDate(t,e){return new h().fromJSDate(t,e)}static fromData=function(t,e){return new h().fromData(t,e)};static now(){return h.fromJSDate(new Date,!1)}static weekOneStarts(t,e){let s=h.fromData({year:t,month:1,day:1,isDate:!0}),r=s.dayOfWeek(),i=e||h.DEFAULT_WEEK_START;return r>h.THURSDAY&&(s.day+=7),i>h.THURSDAY&&(s.day-=7),s.day-=r-i,s}static getDominicalLetter(t){let e="GFEDCBA",s=(t+(t/4|0)+(t/400|0)-(t/100|0)-1)%7;return h.isLeapYear(t)?e[(s+6)%7]+e[s]:e[s]}static#t=null;static get epochTime(){return this.#t||(this.#t=h.fromData({year:1970,month:1,day:1,hour:0,minute:0,second:0,isDate:!1,timezone:"Z"})),this.#t}static _cmp_attr(t,e,s){return t[s]>e[s]?1:t[s]<e[s]?-1:0}static daysInYearPassedMonth=[[0,31,59,90,120,151,181,212,243,273,304,334,365],[0,31,60,91,121,152,182,213,244,274,305,335,366]];static SUNDAY=1;static MONDAY=2;static TUESDAY=3;static WEDNESDAY=4;static THURSDAY=5;static FRIDAY=6;static SATURDAY=7;static DEFAULT_WEEK_START=2;constructor(t,e){this.wrappedJSObject=this,this._time=Object.create(null),this._time.year=0,this._time.month=1,this._time.day=1,this._time.hour=0,this._time.minute=0,this._time.second=0,this._time.isDate=!1,this.fromData(t,e)}icalclass="icaltime";_cachedUnixTime=null;get icaltype(){return this.isDate?"date":"date-time"}zone=null;_pendingNormalization=!1;get year(){return this._getTimeAttr("year")}set year(t){this._setTimeAttr("year",t)}get month(){return this._getTimeAttr("month")}set month(t){this._setTimeAttr("month",t)}get day(){return this._getTimeAttr("day")}set day(t){this._setTimeAttr("day",t)}get hour(){return this._getTimeAttr("hour")}set hour(t){this._setTimeAttr("hour",t)}get minute(){return this._getTimeAttr("minute")}set minute(t){this._setTimeAttr("minute",t)}get second(){return this._getTimeAttr("second")}set second(t){this._setTimeAttr("second",t)}get isDate(){return this._getTimeAttr("isDate")}set isDate(t){this._setTimeAttr("isDate",t)}_getTimeAttr(t){return this._pendingNormalization&&(this._normalize(),this._pendingNormalization=!1),this._time[t]}_setTimeAttr(t,e){t==="isDate"&&e&&!this._time.isDate&&this.adjust(0,0,0,0),this._cachedUnixTime=null,this._pendingNormalization=!0,this._time[t]=e}clone(){return new h(this._time,this.zone)}reset(){this.fromData(h.epochTime),this.zone=T.utcTimezone}resetTo(t,e,s,r,i,o,n){this.fromData({year:t,month:e,day:s,hour:r,minute:i,second:o,zone:n})}fromJSDate(t,e){return t?e?(this.zone=T.utcTimezone,this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()):(this.zone=T.localTimezone,this.year=t.getFullYear(),this.month=t.getMonth()+1,this.day=t.getDate(),this.hour=t.getHours(),this.minute=t.getMinutes(),this.second=t.getSeconds()):this.reset(),this._cachedUnixTime=null,this}fromData(t,e){if(t)for(let[s,r]of Object.entries(t))s!=="icaltype"&&(this[s]=r);if(e&&(this.zone=e),t&&!("isDate"in t)?this.isDate=!("hour"in t):t&&"isDate"in t&&(this.isDate=t.isDate),t&&"timezone"in t){let s=Ot.get(t.timezone);this.zone=s||T.localTimezone}return t&&"zone"in t&&(this.zone=t.zone),this.zone||(this.zone=T.localTimezone),this._cachedUnixTime=null,this}dayOfWeek(t){let e=t||h.SUNDAY,s=(this.year<<12)+(this.month<<8)+(this.day<<3)+e;if(s in h._dowCache)return h._dowCache[s];let r=this.day,i=this.month+(this.month<3?12:0),o=this.year-(this.month<3?1:0),n=r+o+C((i+1)*26/10)+C(o/4);return n+=C(o/100)*6+C(o/400),n=(n+7-e)%7+1,h._dowCache[s]=n,n}dayOfYear(){let t=h.isLeapYear(this.year)?1:0;return h.daysInYearPassedMonth[t][this.month-1]+this.day}startOfWeek(t){let e=t||h.SUNDAY,s=this.clone();return s.day-=(this.dayOfWeek()+7-e)%7,s.isDate=!0,s.hour=0,s.minute=0,s.second=0,s}endOfWeek(t){let e=t||h.SUNDAY,s=this.clone();return s.day+=(7-this.dayOfWeek()+e-h.SUNDAY)%7,s.isDate=!0,s.hour=0,s.minute=0,s.second=0,s}startOfMonth(){let t=this.clone();return t.day=1,t.isDate=!0,t.hour=0,t.minute=0,t.second=0,t}endOfMonth(){let t=this.clone();return t.day=h.daysInMonth(t.month,t.year),t.isDate=!0,t.hour=0,t.minute=0,t.second=0,t}startOfYear(){let t=this.clone();return t.day=1,t.month=1,t.isDate=!0,t.hour=0,t.minute=0,t.second=0,t}endOfYear(){let t=this.clone();return t.day=31,t.month=12,t.isDate=!0,t.hour=0,t.minute=0,t.second=0,t}startDoyWeek(t){let e=t||h.SUNDAY,s=this.dayOfWeek()-e;return s<0&&(s+=7),this.dayOfYear()-s}getDominicalLetter(){return h.getDominicalLetter(this.year)}nthWeekDay(t,e){let s=h.daysInMonth(this.month,this.year),r,i=e,o=0,n=this.clone();if(i>=0){n.day=1,i!=0&&i--,o=n.day;let l=n.dayOfWeek(),u=t-l;u<0&&(u+=7),o+=u,o-=t,r=t}else{n.day=s;let l=n.dayOfWeek();i++,r=l-t,r<0&&(r+=7),r=s-r}return r+=i*7,o+r}isNthWeekDay(t,e){let s=this.dayOfWeek();return e===0&&s===t||this.nthWeekDay(t,e)===this.day}weekNumber(t){let e=(this.year<<12)+(this.month<<8)+(this.day<<3)+t;if(e in h._wnCache)return h._wnCache[e];let s,r=this.clone();r.isDate=!0;let i=this.year;r.month==12&&r.day>25?(s=h.weekOneStarts(i+1,t),r.compare(s)<0?s=h.weekOneStarts(i,t):i++):(s=h.weekOneStarts(i,t),r.compare(s)<0&&(s=h.weekOneStarts(--i,t)));let o=r.subtractDate(s).toSeconds()/86400,n=C(o/7)+1;return h._wnCache[e]=n,n}addDuration(t){let e=t.isNegative?-1:1,s=this.second,r=this.minute,i=this.hour,o=this.day;s+=e*t.seconds,r+=e*t.minutes,i+=e*t.hours,o+=e*t.days,o+=e*7*t.weeks,this.second=s,this.minute=r,this.hour=i,this.day=o,this._cachedUnixTime=null}subtractDate(t){let e=this.toUnixTime()+this.utcOffset(),s=t.toUnixTime()+t.utcOffset();return M.fromSeconds(e-s)}subtractDateTz(t){let e=this.toUnixTime(),s=t.toUnixTime();return M.fromSeconds(e-s)}compare(t){if(t instanceof K)return-1*t.compare(this);{let e=this.toUnixTime(),s=t.toUnixTime();return e>s?1:s>e?-1:0}}compareDateOnlyTz(t,e){let s=this.convertToZone(e),r=t.convertToZone(e),i=0;return(i=h._cmp_attr(s,r,"year"))!=0||(i=h._cmp_attr(s,r,"month"))!=0||(i=h._cmp_attr(s,r,"day"))!=0,i}convertToZone(t){let e=this.clone(),s=this.zone.tzid==t.tzid;return!this.isDate&&!s&&T.convert_time(e,this.zone,t),e.zone=t,e}utcOffset(){return this.zone==T.localTimezone||this.zone==T.utcTimezone?0:this.zone.utcOffset(this)}toICALString(){let t=this.toString();return t.length>10?b.icalendar.value["date-time"].toICAL(t):b.icalendar.value.date.toICAL(t)}toString(){let t=this.year+"-"+k(this.month)+"-"+k(this.day);return this.isDate||(t+="T"+k(this.hour)+":"+k(this.minute)+":"+k(this.second),this.zone===T.utcTimezone&&(t+="Z")),t}toJSDate(){return this.zone==T.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(t,e,s,r,i){let o,n,l=0,u=0,c,d,m,p,y,f=i||this._time;if(f.isDate||(c=f.second+r,f.second=c%60,o=C(c/60),f.second<0&&(f.second+=60,o--),d=f.minute+s+o,f.minute=d%60,n=C(d/60),f.minute<0&&(f.minute+=60,n--),m=f.hour+e+n,f.hour=m%24,l=C(m/24),f.hour<0&&(f.hour+=24,l--)),f.month>12?u=C((f.month-1)/12):f.month<1&&(u=C(f.month/12)-1),f.year+=u,f.month-=12*u,p=f.day+t+l,p>0)for(;y=h.daysInMonth(f.month,f.year),!(p<=y);)f.month++,f.month>12&&(f.year++,f.month=1),p-=y;else for(;p<=0;)f.month==1?(f.year--,f.month=12):f.month--,p+=h.daysInMonth(f.month,f.year);return f.day=p,this._cachedUnixTime=null,this}fromUnixTime(t){this.zone=T.utcTimezone;let e=new Date(t*1e3);this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this._time.isDate?(this.hour=0,this.minute=0,this.second=0):(this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()),this._cachedUnixTime=null}toUnixTime(){if(this._cachedUnixTime!==null)return this._cachedUnixTime;let t=this.utcOffset(),e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second-t);return this._cachedUnixTime=e/1e3,this._cachedUnixTime}toJSON(){let t=["year","month","day","hour","minute","second","isDate"],e=Object.create(null),s=0,r=t.length,i;for(;s<r;s++)i=t[s],e[i]=this[i];return this.zone&&(e.timezone=this.zone.tzid),e}}const qe=/[^ \t]/,St=":",Nt=";",Ze="=",Je="unknown",$e="text",Xe={"^'":'"',"^n":`
|
|
`,"^^":"^"};function g(a){let t={},e=t.component=[];if(t.stack=[e],g._eachLine(a,function(s,r){g._handleContentLine(r,t)}),t.stack.length>1)throw new rt("invalid ical body. component began but did not end");return t=null,e.length==1?e[0]:e}g.property=function(a,t){let e={component:[[],[]],designSet:t||b.defaultSet};return g._handleContentLine(a,e),e.component[1][0]},g.component=function(a){return g(a)};class rt extends Error{name=this.constructor.name}g.ParserError=rt,g._handleContentLine=function(a,t){let e=a.indexOf(St),s=a.indexOf(Nt),r,i,o,n,l={};s!==-1&&e!==-1&&s>e&&(s=-1);let u;if(s!==-1){if(o=a.slice(0,Math.max(0,s)).toLowerCase(),u=g._parseParameters(a.slice(Math.max(0,s)),0,t.designSet),u[2]==-1)throw new rt("Invalid parameters in '"+a+"'");l=u[0];let U;if(typeof u[1]=="string"?U=u[1].length:U=u[1].reduce((ct,st)=>ct+st.length,0),r=U+u[2]+s,(i=a.slice(Math.max(0,r)).indexOf(St))!==-1)n=a.slice(Math.max(0,r+i+1));else throw new rt("Missing parameter value in '"+a+"'")}else if(e!==-1){if(o=a.slice(0,Math.max(0,e)).toLowerCase(),n=a.slice(Math.max(0,e+1)),o==="begin"){let U=[n.toLowerCase(),[],[]];t.stack.length===1?t.component.push(U):t.component[2].push(U),t.stack.push(t.component),t.component=U,t.designSet||(t.designSet=b.getDesignSet(t.component[0]));return}else if(o==="end"){t.component=t.stack.pop();return}}else throw new rt('invalid line (no token ";" or ":") "'+a+'"');let c,d=!1,m=!1,p,y,f;t.designSet.propertyGroups&&o.indexOf(".")!==-1?(y=o.split("."),l.group=y[0],f=y[1]):f=o,f in t.designSet.property&&(p=t.designSet.property[f],"multiValue"in p&&(d=p.multiValue),"structuredValue"in p&&(m=p.structuredValue),n&&"detectType"in p&&(c=p.detectType(n))),c||("value"in l?c=l.value.toLowerCase():p?c=p.defaultType:c=Je),delete l.value;let A;d&&m?(n=g._parseMultiValue(n,m,c,[],d,t.designSet,m),A=[f,l,c,n]):d?(A=[f,l,c],g._parseMultiValue(n,d,c,A,null,t.designSet,!1)):m?(n=g._parseMultiValue(n,m,c,[],null,t.designSet,m),A=[f,l,c,n]):(n=g._parseValue(n,c,t.designSet,!1),A=[f,l,c,n]),t.component[0]==="vcard"&&t.component[1].length===0&&!(o==="version"&&n==="4.0")&&(t.designSet=b.getDesignSet("vcard3")),t.component[1].push(A)},g._parseValue=function(a,t,e,s){return t in e.value&&"fromICAL"in e.value[t]?e.value[t].fromICAL(a,s):a},g._parseParameters=function(a,t,e){let s=t,r=0,i=Ze,o={},n,l,u,c=-1,d,m,p;for(;r!==!1&&(r=a.indexOf(i,r+1))!==-1;){if(n=a.slice(s+1,r),n.length==0)throw new rt("Empty parameter name in '"+a+"'");if(l=n.toLowerCase(),p=!1,m=!1,l in e.param&&e.param[l].valueType?d=e.param[l].valueType:d=$e,l in e.param&&(m=e.param[l].multiValue,e.param[l].multiValueSeparateDQuote&&(p=g._rfc6868Escape('"'+m+'"'))),a[r+1]==='"'){if(c=r+2,r=a.indexOf('"',c),m&&r!=-1){let A=!0;for(;A;)a[r+1]==m&&a[r+2]=='"'?r=a.indexOf('"',r+3):A=!1}if(r===-1)throw new rt('invalid line (no matching double quote) "'+a+'"');u=a.slice(c,r),s=a.indexOf(Nt,r);let f=a.indexOf(St,r);(s===-1||f!==-1&&s>f)&&(r=!1)}else{c=r+1;let f=a.indexOf(Nt,c),A=a.indexOf(St,c);A!==-1&&f>A?(f=A,r=!1):f===-1?(A===-1?f=a.length:f=A,r=!1):(s=f,r=f),u=a.slice(c,f)}const y=u.length;if(u=g._rfc6868Escape(u),c+=y-u.length,m){let f=p||m;u=g._parseMultiValue(u,f,d,[],null,e)}else u=g._parseValue(u,d,e);m&&l in o?Array.isArray(o[l])?o[l].push(u):o[l]=[o[l],u]:o[l]=u}return[o,u,c]},g._rfc6868Escape=function(a){return a.replace(/\^['n^]/g,function(t){return Xe[t]})},g._parseMultiValue=function(a,t,e,s,r,i,o){let n=0,l=0,u;if(t.length===0)return a;for(;(n=he(a,t,l))!==-1;)u=a.slice(l,n),r?u=g._parseMultiValue(u,r,e,[],null,i,o):u=g._parseValue(u,e,i,o),s.push(u),l=n+t.length;return u=a.slice(l),r?u=g._parseMultiValue(u,r,e,[],null,i,o):u=g._parseValue(u,e,i,o),s.push(u),s.length==1?s[0]:s},g._eachLine=function(a,t){let e=a.length,s=a.search(qe),r=s,i,o,n;do r=a.indexOf(`
|
|
`,s)+1,r>1&&a[r-2]==="\r"?n=2:n=1,r===0&&(r=e,n=0),o=a[s],o===" "||o===" "?i+=a.slice(s+1,r-n):(i&&t(null,i),i=a.slice(s,r-n)),s=r;while(r!==e);i=i.trim(),i.length&&t(null,i)};const Qe=["tzid","location","tznames","latitude","longitude"];class T{static _compare_change_fn(t,e){return t.year<e.year?-1:t.year>e.year?1:t.month<e.month?-1:t.month>e.month?1:t.day<e.day?-1:t.day>e.day?1:t.hour<e.hour?-1:t.hour>e.hour?1:t.minute<e.minute?-1:t.minute>e.minute?1:t.second<e.second?-1:t.second>e.second?1:0}static convert_time(t,e,s){if(t.isDate||e.tzid==s.tzid||e==T.localTimezone||s==T.localTimezone)return t.zone=s,t;let r=e.utcOffset(t);return t.adjust(0,0,0,-r),r=s.utcOffset(t),t.adjust(0,0,0,r),null}static fromData(t){return new T().fromData(t)}static#t=null;static get utcTimezone(){return this.#t||(this.#t=T.fromData({tzid:"UTC"})),this.#t}static#e=null;static get localTimezone(){return this.#e||(this.#e=T.fromData({tzid:"floating"})),this.#e}static adjust_change(t,e,s,r,i){return h.prototype.adjust.call(t,e,s,r,i,t)}static _minimumExpansionYear=-1;static EXTRA_COVERAGE=5;constructor(t){this.wrappedJSObject=this,this.fromData(t)}tzid="";location="";tznames="";latitude=0;longitude=0;component=null;expandedUntilYear=0;icalclass="icaltimezone";fromData(t){if(this.expandedUntilYear=0,this.changes=[],t instanceof z)this.component=t;else{if(t&&"component"in t)if(typeof t.component=="string"){let e=g(t.component);this.component=new z(e)}else t.component instanceof z?this.component=t.component:this.component=null;for(let e of Qe)t&&e in t&&(this[e]=t[e])}return this.component instanceof z&&!this.tzid&&(this.tzid=this.component.getFirstPropertyValue("tzid")),this}utcOffset(t){if(this==T.utcTimezone||this==T.localTimezone||(this._ensureCoverage(t.year),!this.changes.length))return 0;let e={year:t.year,month:t.month,day:t.day,hour:t.hour,minute:t.minute,second:t.second},s=this._findNearbyChange(e),r=-1,i=1;for(;;){let n=lt(this.changes[s],!0);if(n.utcOffset<n.prevUtcOffset?T.adjust_change(n,0,0,0,n.utcOffset):T.adjust_change(n,0,0,0,n.prevUtcOffset),T._compare_change_fn(e,n)>=0?r=s:i=-1,i==-1&&r!=-1)break;if(s+=i,s<0)return 0;if(s>=this.changes.length)break}let o=this.changes[r];if(o.utcOffset-o.prevUtcOffset<0&&r>0){let n=lt(o,!0);if(T.adjust_change(n,0,0,0,n.prevUtcOffset),T._compare_change_fn(e,n)<0){let l=this.changes[r-1],u=!1;o.is_daylight!=u&&l.is_daylight==u&&(o=l)}}return o.utcOffset}_findNearbyChange(t){let e=nt(this.changes,t,T._compare_change_fn);return e>=this.changes.length?this.changes.length-1:e}_ensureCoverage(t){if(T._minimumExpansionYear==-1){let s=h.now();T._minimumExpansionYear=s.year}let e=t;if(e<T._minimumExpansionYear&&(e=T._minimumExpansionYear),e+=T.EXTRA_COVERAGE,!this.changes.length||this.expandedUntilYear<t){let s=this.component.getAllSubcomponents(),r=s.length,i=0;for(;i<r;i++)this._expandComponent(s[i],e,this.changes);this.changes.sort(T._compare_change_fn),this.expandedUntilYear=e}}_expandComponent(t,e,s){if(!t.hasProperty("dtstart")||!t.hasProperty("tzoffsetto")||!t.hasProperty("tzoffsetfrom"))return null;let r=t.getFirstProperty("dtstart").getFirstValue(),i;function o(l){return l.factor*(l.hours*3600+l.minutes*60)}function n(){let l={};return l.is_daylight=t.name=="daylight",l.utcOffset=o(t.getFirstProperty("tzoffsetto").getFirstValue()),l.prevUtcOffset=o(t.getFirstProperty("tzoffsetfrom").getFirstValue()),l}if(!t.hasProperty("rrule")&&!t.hasProperty("rdate"))i=n(),i.year=r.year,i.month=r.month,i.day=r.day,i.hour=r.hour,i.minute=r.minute,i.second=r.second,T.adjust_change(i,0,0,0,-i.prevUtcOffset),s.push(i);else{let l=t.getAllProperties("rdate");for(let c of l){let d=c.getFirstValue();i=n(),i.year=d.year,i.month=d.month,i.day=d.day,d.isDate?(i.hour=r.hour,i.minute=r.minute,i.second=r.second,r.zone!=T.utcTimezone&&T.adjust_change(i,0,0,0,-i.prevUtcOffset)):(i.hour=d.hour,i.minute=d.minute,i.second=d.second,d.zone!=T.utcTimezone&&T.adjust_change(i,0,0,0,-i.prevUtcOffset)),s.push(i)}let u=t.getFirstProperty("rrule");if(u){u=u.getFirstValue(),i=n(),u.until&&u.until.zone==T.utcTimezone&&(u.until.adjust(0,0,0,i.prevUtcOffset),u.until.zone=T.localTimezone);let c=u.iterator(r),d;for(;(d=c.next())&&(i=n(),!(d.year>e||!d));)i.year=d.year,i.month=d.month,i.day=d.day,i.hour=d.hour,i.minute=d.minute,i.second=d.second,i.isDate=d.isDate,T.adjust_change(i,0,0,0,-i.prevUtcOffset),s.push(i)}}return s}toString(){return this.tznames?this.tznames:this.tzid}}let N=null;const Ot={get count(){return N===null?0:Object.keys(N).length},reset:function(){N=Object.create(null);let a=T.utcTimezone;N.Z=a,N.UTC=a,N.GMT=a},_hard_reset:function(){N=null},has:function(a){return N===null?!1:!!N[a]},get:function(a){return N===null&&this.reset(),N[a]},register:function(a,t){if(N===null&&this.reset(),typeof a=="string"&&t instanceof T&&([a,t]=[t,a]),t||(a instanceof T?t=a.tzid:a.name==="vtimezone"&&(a=new T(a),t=a.tzid)),!t)throw new TypeError("Neither a timezone nor a name was passed");if(a instanceof T)N[t]=a;else throw new TypeError("timezone must be ICAL.Timezone or ICAL.Component")},remove:function(a){return N===null?null:delete N[a]}};function t0(a){let t,e,s,r,i;if(!a||a.name!=="vcalendar")return a;for(t=a.getAllSubcomponents(),e=[],s={},i=0;i<t.length;i++)if(t[i].name==="vtimezone"){let o=t[i].getFirstProperty("tzid").getFirstValue();s[o]=t[i]}else e=e.concat(t[i].getAllProperties());for(r={},i=0;i<e.length;i++){let o=e[i].getParameter("tzid");o&&(r[o]=!0)}for(let[o,n]of Object.entries(s))r[o]||a.removeSubcomponent(n);for(let o of Object.keys(r))!s[o]&&Ot.has(o)&&a.addSubcomponent(Ot.get(o).component);return a}function ft(a){return typeof a=="number"&&isNaN(a)}function O(a){let t=parseInt(a,10);if(ft(t))throw new Error('Could not extract integer from "'+a+'"');return t}function q(a,t){if(!(typeof a>"u"))return a instanceof t?a:new t(a)}function he(a,t,e){for(;(e=a.indexOf(t,e))!==-1;)if(e>0&&a[e-1]==="\\")e+=1;else return e;return-1}function nt(a,t,e){if(!a.length)return 0;let s=0,r=a.length-1,i,o;for(;s<=r;)if(i=s+Math.floor((r-s)/2),o=e(t,a[i]),o<0)r=i-1;else if(o>0)s=i+1;else break;return o<0?i:o>0?i+1:i}function lt(a,t){if(!a||typeof a!="object")return a;if(a instanceof Date)return new Date(a.getTime());if("clone"in a)return a.clone();if(Array.isArray(a)){let e=[];for(let s=0;s<a.length;s++)e.push(t?lt(a[s],!0):a[s]);return e}else{let e={};for(let[s,r]of Object.entries(a))t?e[s]=lt(r,!0):e[s]=r;return e}}function me(a){let t="",e=a||"",s=0,r=0;for(;e.length;){let i=e.codePointAt(s);i<128?++r:i<2048?r+=2:i<65536?r+=3:r+=4,r<L.foldLength+1?s+=i>65535?2:1:(t+=L.newLineChar+" "+e.slice(0,Math.max(0,s)),e=e.slice(Math.max(0,s)),s=r=0)}return t.slice(L.newLineChar.length+1)}function k(a){switch(typeof a!="string"&&(typeof a=="number"&&(a=parseInt(a)),a=String(a)),a.length){case 0:return"00";case 1:return"0"+a;default:return a}}function C(a){return a<0?Math.ceil(a):Math.floor(a)}function ut(a,t){for(let e in a){let s=Object.getOwnPropertyDescriptor(a,e);s&&!Object.getOwnPropertyDescriptor(t,e)&&Object.defineProperty(t,e,s)}return t}var e0=Object.freeze({__proto__:null,binsearchInsert:nt,clone:lt,extend:ut,foldline:me,formatClassType:q,isStrictlyNaN:ft,pad2:k,strictParseInt:O,trunc:C,unescapedIndexOf:he,updateTimezones:t0});class V{static fromString(t){let e={};return e.factor=t[0]==="+"?1:-1,e.hours=O(t.slice(1,3)),e.minutes=O(t.slice(4,6)),new V(e)}static fromSeconds(t){let e=new V;return e.fromSeconds(t),e}constructor(t){this.fromData(t)}hours=0;minutes=0;factor=1;icaltype="utc-offset";clone(){return V.fromSeconds(this.toSeconds())}fromData(t){if(t)for(let[e,s]of Object.entries(t))this[e]=s;this._normalize()}fromSeconds(t){let e=Math.abs(t);return this.factor=t<0?-1:1,this.hours=C(e/3600),e-=this.hours*3600,this.minutes=C(e/60),this}toSeconds(){return this.factor*(60*this.minutes+3600*this.hours)}compare(t){let e=this.toSeconds(),s=t.toSeconds();return(e>s)-(s>e)}_normalize(){let t=this.toSeconds(),e=this.factor;for(;t<-43200;)t+=97200;for(;t>50400;)t-=97200;this.fromSeconds(t),t==0&&(this.factor=e)}toICALString(){return b.icalendar.value["utc-offset"].toICAL(this.toString())}toString(){return(this.factor==1?"+":"-")+k(this.hours)+":"+k(this.minutes)}}class Q extends h{static fromDateAndOrTimeString(t,e){function s(f,A,U){return f?O(f.slice(A,A+U)):null}let r=t.split("T"),i=r[0],o=r[1],n=o?b.vcard.value.time._splitZone(o):[],l=n[0],u=n[1],c=i?i.length:0,d=u?u.length:0,m=i&&i[0]=="-"&&i[1]=="-",p=u&&u[0]=="-",y={year:m?null:s(i,0,4),month:m&&(c==4||c==7)?s(i,2,2):c==7||c==10?s(i,5,2):null,day:c==5?s(i,3,2):c==7&&m?s(i,5,2):c==10?s(i,8,2):null,hour:p?null:s(u,0,2),minute:p&&d==3?s(u,1,2):d>4?p?s(u,1,2):s(u,3,2):null,second:d==4?s(u,2,2):d==6?s(u,4,2):d==8?s(u,6,2):null};return l=="Z"?l=T.utcTimezone:l&&l[3]==":"?l=V.fromString(l):l=null,new Q(y,l,e)}constructor(t,e,s){super(t,e),this.icaltype=s||"date-and-or-time"}icalclass="vcardtime";icaltype="date-and-or-time";clone(){return new Q(this._time,this.zone,this.icaltype)}_normalize(){return this}utcOffset(){return this.zone instanceof V?this.zone.toSeconds():h.prototype.utcOffset.apply(this,arguments)}toICALString(){return b.vcard.value[this.icaltype].toICAL(this.toString())}toString(){let t=this.year,e=this.month,s=this.day,r=this.hour,i=this.minute,o=this.second,n=t!==null,l=e!==null,u=s!==null,c=r!==null,d=i!==null,m=o!==null,p=(n?k(t)+(l||u?"-":""):l||u?"--":"")+(l?k(e):"")+(u?"-"+k(s):""),y=(c?k(r):"-")+(c&&d?":":"")+(d?k(i):"")+(!c&&!d?"-":"")+(d&&m?":":"")+(m?k(o):""),f;switch(this.zone===T.utcTimezone?f="Z":this.zone instanceof V?f=this.zone.toString():this.zone===T.localTimezone?f="":this.zone instanceof T?f=V.fromSeconds(this.zone.utcOffset(this)).toString():f="",this.icaltype){case"time":return y+f;case"date-and-or-time":case"date-time":return p+(y=="--"?"":"T"+y+f);case"date":return p}return null}}class j{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(t){this.fromData(t)}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(t){if(this.rule=q(t.rule,w),!this.rule)throw new Error("iterator requires a (ICAL.Recur) rule");if(this.dtstart=q(t.dtstart,h),!this.dtstart)throw new Error("iterator requires a (ICAL.Time) dtstart");if(t.by_data?this.by_data=t.by_data:this.by_data=lt(this.rule.parts,!0),t.occurrence_number&&(this.occurrence_number=t.occurrence_number),this.days=t.days||[],t.last&&(this.last=q(t.last,h)),this.by_indices=t.by_indices,this.by_indices||(this.by_indices={BYSECOND:0,BYMINUTE:0,BYHOUR:0,BYDAY:0,BYMONTH:0,BYWEEKNO:0,BYMONTHDAY:0}),this.initialized=t.initialized||!1,!this.initialized)try{this.init()}catch(e){if(e instanceof At)this.completed=!0;else throw e}}init(){this.initialized=!0,this.last=this.dtstart.clone();let t=this.by_data;if("BYDAY"in t&&this.sort_byday_rules(t.BYDAY),"BYYEARDAY"in t&&("BYMONTH"in t||"BYWEEKNO"in t||"BYMONTHDAY"in t))throw new Error("Invalid BYYEARDAY rule");if("BYWEEKNO"in t&&"BYMONTHDAY"in t)throw new Error("BYWEEKNO does not fit to BYMONTHDAY");if(this.rule.freq=="MONTHLY"&&("BYYEARDAY"in t||"BYWEEKNO"in t))throw new Error("For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear");if(this.rule.freq=="WEEKLY"&&("BYYEARDAY"in t||"BYMONTHDAY"in t))throw new Error("For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear");if(this.rule.freq!="YEARLY"&&"BYYEARDAY"in t)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 t){let[,e]=this.ruleDayOfWeek(t.BYDAY[0],this.rule.wkst),s=e-this.last.dayOfWeek(this.rule.wkst);(this.last.dayOfWeek(this.rule.wkst)<e&&s>=0||s<0)&&(this.last.day+=s)}else{let e=w.numericDayToIcalDay(this.dtstart.dayOfWeek());t.BYDAY=[e]}if(this.rule.freq=="YEARLY"){const e=this.rule.until?this.rule.until.year:2e4;for(;this.last.year<=e&&(this.expand_year_days(this.last.year),!(this.days.length>0));)this.increment_year(this.rule.interval);if(this.days.length==0)throw new At;if(!this._nextByYearDay()&&!this.next_year()&&!this.next_year()&&!this.next_year())throw new At}if(this.rule.freq=="MONTHLY"){if(this.has_by_data("BYDAY")){let e=null,s=this.last.clone(),r=h.daysInMonth(this.last.month,this.last.year);for(let i of this.by_data.BYDAY){this.last=s.clone();let[o,n]=this.ruleDayOfWeek(i),l=this.last.nthWeekDay(n,o);if(o>=6||o<=-6)throw new Error("Malformed values in BYDAY part");if(l>r||l<=0){if(e&&e.month==s.month)continue;for(;l>r||l<=0;)this.increment_month(),r=h.daysInMonth(this.last.month,this.last.year),l=this.last.nthWeekDay(n,o)}this.last.day=l,(!e||this.last.compare(e)<0)&&(e=this.last.clone())}if(this.last=e.clone(),this.has_by_data("BYMONTHDAY")&&this._byDayAndMonthDay(!0),this.last.day>r||this.last.day==0)throw new Error("Malformed values in BYDAY part")}else if(this.has_by_data("BYMONTHDAY")){this.last.day=1;let e=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY).filter(s=>s>=this.last.day);if(e.length)this.last.day=e[0],this.by_data.BYMONTHDAY=e;else if(!this.next_month()&&!this.next_month()&&!this.next_month())throw new At}}}next(t=!1){let e=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 s,r=0;do switch(s=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":if(s=this.next_month(),s)r=0;else if(++r==336)return this.completed=!0,null;break;case"YEARLY":if(s=this.next_year(),s)r=0;else if(++r==28)return this.completed=!0,null;break;default:return null}while(!this.check_contracting_rules()||this.last.compare(this.dtstart)<0||!s);if(this.last.compare(e)==0){if(t)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(t){return this.increment_generic(t,"second",60,"minute")}next_minute(){return this.next_generic("BYMINUTE","MINUTELY","minute","hour","next_second")}increment_minute(t){return this.increment_generic(t,"minute",60,"hour")}next_hour(){return this.next_generic("BYHOUR","HOURLY","hour","monthday","next_minute")}increment_hour(t){this.increment_generic(t,"hour",24,"monthday")}next_day(){let t=this.rule.freq=="DAILY";return this.next_hour()==0||(t?this.increment_monthday(this.rule.interval):this.increment_monthday(1)),0}next_week(){let t=0;if(this.next_weekday_by_week()==0)return t;if(this.has_by_data("BYWEEKNO")){this.by_indices.BYWEEKNO++,this.by_indices.BYWEEKNO==this.by_data.BYWEEKNO.length&&(this.by_indices.BYWEEKNO=0,t=1),this.last.month=1,this.last.day=1;let e=this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];this.last.day+=7*e,t&&this.increment_year(1)}else this.increment_monthday(7*this.rule.interval);return t}normalizeByMonthDayRules(t,e,s){let r=h.daysInMonth(e,t),i=[],o=0,n=s.length,l;for(;o<n;o++){if(l=parseInt(s[o],10),isNaN(l))throw new Error("Invalid BYMONTHDAY value");if(!(Math.abs(l)>r)){if(l<0)l=r+(l+1);else if(l===0)continue;i.indexOf(l)===-1&&i.push(l)}}return i.sort(function(u,c){return u-c})}_byDayAndMonthDay(t){let e,s=this.by_data.BYDAY,r,i=0,o,n=s.length,l=0,u,c=this,d=this.last.day;function m(){for(u=h.daysInMonth(c.last.month,c.last.year),e=c.normalizeByMonthDayRules(c.last.year,c.last.month,c.by_data.BYMONTHDAY),o=e.length;e[i]<=d&&!(t&&e[i]==d)&&i<o-1;)i++}function p(){d=0,c.increment_month(),i=0,m()}m(),t&&(d-=1);let y=48;for(;!l&&y;){if(y--,r=d+1,r>u){p();continue}let f=e[i++];if(f>=r)d=f;else{p();continue}for(let A=0;A<n;A++){let U=this.ruleDayOfWeek(s[A]),ct=U[0],st=U[1];if(this.last.day=d,this.last.isNthWeekDay(st,ct)){l=1;break}}if(!l&&i===o){p();continue}}if(y<=0)throw new Error("Malformed values in BYDAY combined with BYMONTHDAY parts");return l}next_month(){let t=1;if(this.next_hour()==0)return t;if(this.has_by_data("BYDAY")&&this.has_by_data("BYMONTHDAY"))t=this._byDayAndMonthDay();else if(this.has_by_data("BYDAY")){let e=h.daysInMonth(this.last.month,this.last.year),s=0,r=0;if(this.has_by_data("BYSETPOS")){let o=this.last.day;for(let n=1;n<=e;n++)this.last.day=n,this.is_day_in_byday(this.last)&&(r++,n<=o&&s++);this.last.day=o}t=0;let i;for(i=this.last.day+1;i<=e;i++)if(this.last.day=i,this.is_day_in_byday(this.last)&&(!this.has_by_data("BYSETPOS")||this.check_set_position(++s)||this.check_set_position(s-r-1))){t=1;break}i>e&&(this.last.day=1,this.increment_month(),this.is_day_in_byday(this.last)?(!this.has_by_data("BYSETPOS")||this.check_set_position(1))&&(t=1):t=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 e=h.daysInMonth(this.last.month,this.last.year),s=this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];s<0&&(s=e+s+1),s>e?(this.last.day=1,t=this.is_day_in_byday(this.last)):this.last.day=s}else{this.increment_month();let e=h.daysInMonth(this.last.month,this.last.year);this.by_data.BYMONTHDAY[0]>e?t=0:this.last.day=this.by_data.BYMONTHDAY[0]}return t}next_weekday_by_week(){let t=0;if(this.next_hour()==0)return t;if(!this.has_by_data("BYDAY"))return 1;for(;;){let e=new h;this.by_indices.BYDAY++,this.by_indices.BYDAY==Object.keys(this.by_data.BYDAY).length&&(this.by_indices.BYDAY=0,t=1);let s=this.by_data.BYDAY[this.by_indices.BYDAY],r=this.ruleDayOfWeek(s)[1];r-=this.rule.wkst,r<0&&(r+=7),e.year=this.last.year,e.month=this.last.month,e.day=this.last.day;let i=e.startDoyWeek(this.rule.wkst);if(r+i<1&&!t)continue;let o=h.fromDayOfYear(i+r,this.last.year);return this.last.year=o.year,this.last.month=o.month,this.last.day=o.day,t}}next_year(){return this.next_hour()==0||(this.days.length==0||++this.days_index==this.days.length)&&(this.days_index=0,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),this.days.length==0)?0:this._nextByYearDay()}_nextByYearDay(){let t=this.days[this.days_index],e=this.last.year;if(Math.abs(t)==366&&!h.isLeapYear(this.last.year))return 0;t<1&&(t+=1,e+=1);let s=h.fromDayOfYear(t,e);return this.last.day=s.day,this.last.month=s.month,1}ruleDayOfWeek(t,e){let s=t.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);if(s){let r=parseInt(s[1]||0,10);return t=w.icalDayToNumericDay(s[2],e),[r,t]}else return[0,0]}next_generic(t,e,s,r,i){let o=t in this.by_data,n=this.rule.freq==e,l=0;if(i&&this[i]()==0)return l;if(o){this.by_indices[t]++;let u=this.by_data[t];this.by_indices[t]==u.length&&(this.by_indices[t]=0,l=1),this.last[s]=u[this.by_indices[t]]}else n&&this["increment_"+s](this.rule.interval);return o&&l&&n&&this["increment_"+r](1),l}increment_monthday(t){for(let e=0;e<t;e++){let s=h.daysInMonth(this.last.month,this.last.year);this.last.day++,this.last.day>s&&(this.last.day-=s,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 t=C(this.last.month/12);this.last.month%=12,this.last.month++,t!=0&&this.increment_year(t)}this.has_by_data("BYMONTHDAY")&&(this.by_data.BYMONTHDAY=this.normalizeByMonthDayRules(this.last.year,this.last.month,this.rule.parts.BYMONTHDAY))}increment_year(t){this.last.day=1,this.last.year+=t}increment_generic(t,e,s,r){this.last[e]+=t;let i=C(this.last[e]/s);this.last[e]%=s,i!=0&&this["increment_"+r](i)}has_by_data(t){return t in this.rule.parts}expand_year_days(t){let e=new h;this.days=[];let s={},r=["BYDAY","BYWEEKNO","BYMONTHDAY","BYMONTH","BYYEARDAY"];for(let n of r)n in this.rule.parts&&(s[n]=this.rule.parts[n]);if("BYMONTH"in s&&"BYWEEKNO"in s){let n=1,l={};e.year=t,e.isDate=!0;for(let u=0;u<this.by_data.BYMONTH.length;u++){let c=this.by_data.BYMONTH[u];e.month=c,e.day=1;let d=e.weekNumber(this.rule.wkst);e.day=h.daysInMonth(c,t);let m=e.weekNumber(this.rule.wkst);for(u=d;u<m;u++)l[u]=1}for(let u=0;u<this.by_data.BYWEEKNO.length&&n;u++)this.by_data.BYWEEKNO[u]<52?n&=l[u]:n=0;n?delete s.BYMONTH:delete s.BYWEEKNO}let i=Object.keys(s).length;if(i==0){let n=this.dtstart.clone();n.year=this.last.year,this.days.push(n.dayOfYear())}else if(i==1&&"BYMONTH"in s)for(let n of this.by_data.BYMONTH){let l=this.dtstart.clone();l.year=t,l.month=n,l.isDate=!0,this.days.push(l.dayOfYear())}else if(i==1&&"BYMONTHDAY"in s)for(let n of this.by_data.BYMONTHDAY){let l=this.dtstart.clone();if(n<0){let u=h.daysInMonth(l.month,t);n=n+u+1}l.day=n,l.year=t,l.isDate=!0,this.days.push(l.dayOfYear())}else if(i==2&&"BYMONTHDAY"in s&&"BYMONTH"in s)for(let n of this.by_data.BYMONTH){let l=h.daysInMonth(n,t);for(let u of this.by_data.BYMONTHDAY)u<0&&(u=u+l+1),e.day=u,e.month=n,e.year=t,e.isDate=!0,this.days.push(e.dayOfYear())}else if(!(i==1&&"BYWEEKNO"in s)&&!(i==2&&"BYWEEKNO"in s&&"BYMONTHDAY"in s)){if(i==1&&"BYDAY"in s)this.days=this.days.concat(this.expand_by_day(t));else if(i==2&&"BYDAY"in s&&"BYMONTH"in s){for(let n of this.by_data.BYMONTH){let l=h.daysInMonth(n,t);e.year=t,e.month=n,e.day=1,e.isDate=!0;let u=e.dayOfWeek(),c=e.dayOfYear()-1;e.day=l;let d=e.dayOfWeek();if(this.has_by_data("BYSETPOS")){let m=[];for(let p=1;p<=l;p++)e.day=p,this.is_day_in_byday(e)&&m.push(p);for(let p=0;p<m.length;p++)(this.check_set_position(p+1)||this.check_set_position(p-m.length))&&this.days.push(c+m[p])}else for(let m of this.by_data.BYDAY){let p=this.ruleDayOfWeek(m),y=p[0],f=p[1],A,U=(f+7-u)%7+1,ct=l-(d+7-f)%7;if(y==0)for(let st=U;st<=l;st+=7)this.days.push(c+st);else y>0?(A=U+(y-1)*7,A<=l&&this.days.push(c+A)):(A=ct+(y+1)*7,A>0&&this.days.push(c+A))}}this.days.sort(function(n,l){return n-l})}else if(i==2&&"BYDAY"in s&&"BYMONTHDAY"in s){let n=this.expand_by_day(t);for(let l of n){let u=h.fromDayOfYear(l,t);this.by_data.BYMONTHDAY.indexOf(u.day)>=0&&this.days.push(l)}}else if(i==3&&"BYDAY"in s&&"BYMONTHDAY"in s&&"BYMONTH"in s){let n=this.expand_by_day(t);for(let l of n){let u=h.fromDayOfYear(l,t);this.by_data.BYMONTH.indexOf(u.month)>=0&&this.by_data.BYMONTHDAY.indexOf(u.day)>=0&&this.days.push(l)}}else if(i==2&&"BYDAY"in s&&"BYWEEKNO"in s){let n=this.expand_by_day(t);for(let l of n){let u=h.fromDayOfYear(l,t).weekNumber(this.rule.wkst);this.by_data.BYWEEKNO.indexOf(u)&&this.days.push(l)}}else if(!(i==3&&"BYDAY"in s&&"BYWEEKNO"in s&&"BYMONTHDAY"in s))if(i==1&&"BYYEARDAY"in s)this.days=this.days.concat(this.by_data.BYYEARDAY);else if(i==2&&"BYYEARDAY"in s&&"BYDAY"in s){let n=h.isLeapYear(t)?366:365,l=new Set(this.expand_by_day(t));for(let u of this.by_data.BYYEARDAY)u<0&&(u+=n+1),l.has(u)&&this.days.push(u)}else this.days=[]}let o=h.isLeapYear(t)?366:365;return this.days.sort((n,l)=>(n<0&&(n+=o+1),l<0&&(l+=o+1),n-l)),0}expand_by_day(t){let e=[],s=this.last.clone();s.year=t,s.month=1,s.day=1,s.isDate=!0;let r=s.dayOfWeek();s.month=12,s.day=31,s.isDate=!0;let i=s.dayOfWeek(),o=s.dayOfYear();for(let n of this.by_data.BYDAY){let l=this.ruleDayOfWeek(n),u=l[0],c=l[1];if(u==0){let d=(c+7-r)%7+1;for(let m=d;m<=o;m+=7)e.push(m)}else if(u>0){let d;c>=r?d=c-r+1:d=c-r+8,e.push(d+(u-1)*7)}else{let d;u=-u,c<=i?d=o-i+c:d=o-i+c-7,e.push(d-(u-1)*7)}}return e}is_day_in_byday(t){if(this.by_data.BYDAY)for(let e of this.by_data.BYDAY){let s=this.ruleDayOfWeek(e),r=s[0],i=s[1],o=t.dayOfWeek();if(r==0&&i==o||t.nthWeekDay(i,r)==t.day)return 1}return 0}check_set_position(t){return this.has_by_data("BYSETPOS")?this.by_data.BYSETPOS.indexOf(t)!==-1:!1}sort_byday_rules(t){for(let e=0;e<t.length;e++)for(let s=0;s<e;s++){let r=this.ruleDayOfWeek(t[s],this.rule.wkst)[1],i=this.ruleDayOfWeek(t[e],this.rule.wkst)[1];if(r>i){let o=t[e];t[e]=t[s],t[s]=o}}}check_contract_restriction(t,e){let s=j._indexMap[t],r=j._expandMap[this.rule.freq][s],i=!1;if(t in this.by_data&&r==j.CONTRACT){let o=this.by_data[t];for(let n of o)if(n==e){i=!0;break}}else i=!0;return i}check_contracting_rules(){let t=this.last.dayOfWeek(),e=this.last.weekNumber(this.rule.wkst),s=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",w.numericDayToIcalDay(t))&&this.check_contract_restriction("BYWEEKNO",e)&&this.check_contract_restriction("BYMONTHDAY",this.last.day)&&this.check_contract_restriction("BYMONTH",this.last.month)&&this.check_contract_restriction("BYYEARDAY",s)}setup_defaults(t,e,s){let r=j._indexMap[t];return j._expandMap[this.rule.freq][r]!=j.CONTRACT&&(t in this.by_data||(this.by_data[t]=[s]),this.rule.freq!=e)?this.by_data[t][0]:s}toJSON(){let t=Object.create(null);return t.initialized=this.initialized,t.rule=this.rule.toJSON(),t.dtstart=this.dtstart.toJSON(),t.by_data=this.by_data,t.days=this.days,t.last=this.last.toJSON(),t.by_indices=this.by_indices,t.occurrence_number=this.occurrence_number,t}}class At extends Error{constructor(){super("Recurrence rule has no valid occurrences")}}const s0=/^(SU|MO|TU|WE|TH|FR|SA)$/,a0=/^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/,fe={SU:h.SUNDAY,MO:h.MONDAY,TU:h.TUESDAY,WE:h.WEDNESDAY,TH:h.THURSDAY,FR:h.FRIDAY,SA:h.SATURDAY},r0=Object.fromEntries(Object.entries(fe).map(a=>a.reverse())),Jt=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"];class w{static fromString(t){let e=this._stringToData(t,!1);return new w(e)}static fromData(t){return new w(t)}static _stringToData(t,e){let s=Object.create(null),r=t.split(";"),i=r.length;for(let o=0;o<i;o++){let n=r[o].split("="),l=n[0].toUpperCase(),u=n[0].toLowerCase(),c=e?u:l,d=n[1];if(l in It){let m=d.split(","),p=new Set;for(let y of m)p.add(It[l](y));m=[...p],s[c]=m.length==1?m[0]:m}else l in xt?xt[l](d,s,e):s[u]=d}return s}static icalDayToNumericDay(t,e){let s=e||h.SUNDAY;return(fe[t]-s+7)%7+1}static numericDayToIcalDay(t,e){let s=e||h.SUNDAY,r=t+s-h.SUNDAY;return r>7&&(r-=7),r0[r]}constructor(t){this.wrappedJSObject=this,this.parts={},t&&typeof t=="object"&&this.fromData(t)}parts=null;interval=1;wkst=h.MONDAY;until=null;count=null;freq=null;icalclass="icalrecur";icaltype="recur";iterator(t){return new j({rule:this,dtstart:t})}clone(){return new w(this.toJSON())}isFinite(){return!!(this.count||this.until)}isByCount(){return!!(this.count&&!this.until)}addComponent(t,e){let s=t.toUpperCase();s in this.parts?this.parts[s].push(e):this.parts[s]=[e]}setComponent(t,e){this.parts[t.toUpperCase()]=e.slice()}getComponent(t){let e=t.toUpperCase();return e in this.parts?this.parts[e].slice():[]}getNextOccurrence(t,e){let s=this.iterator(t),r;do r=s.next();while(r&&r.compare(e)<=0);return r&&e.zone&&(r.zone=e.zone),r}fromData(t){for(let e in t){let s=e.toUpperCase();s in It?Array.isArray(t[e])?this.parts[s]=t[e]:this.parts[s]=[t[e]]:this[e]=t[e]}this.interval&&typeof this.interval!="number"&&xt.INTERVAL(this.interval,this),this.wkst&&typeof this.wkst!="number"&&(this.wkst=w.icalDayToNumericDay(this.wkst)),this.until&&!(this.until instanceof h)&&(this.until=h.fromString(this.until))}toJSON(){let t=Object.create(null);t.freq=this.freq,this.count&&(t.count=this.count),this.interval>1&&(t.interval=this.interval);for(let[e,s]of Object.entries(this.parts))Array.isArray(s)&&s.length==1?t[e.toLowerCase()]=s[0]:t[e.toLowerCase()]=lt(s);return this.until&&(t.until=this.until.toString()),"wkst"in this&&this.wkst!==h.DEFAULT_WEEK_START&&(t.wkst=w.numericDayToIcalDay(this.wkst)),t}toString(){let t="FREQ="+this.freq;this.count&&(t+=";COUNT="+this.count),this.interval>1&&(t+=";INTERVAL="+this.interval);for(let[e,s]of Object.entries(this.parts))t+=";"+e+"="+s;return this.until&&(t+=";UNTIL="+this.until.toICALString()),"wkst"in this&&this.wkst!==h.DEFAULT_WEEK_START&&(t+=";WKST="+w.numericDayToIcalDay(this.wkst)),t}}function Z(a,t,e,s){let r=s;if(s[0]==="+"&&(r=s.slice(1)),r=O(r),t!==void 0&&s<t)throw new Error(a+': invalid value "'+s+'" must be > '+t);if(e!==void 0&&s>e)throw new Error(a+': invalid value "'+s+'" must be < '+t);return r}const xt={FREQ:function(a,t,e){if(Jt.indexOf(a)!==-1)t.freq=a;else throw new Error('invalid frequency "'+a+'" expected: "'+Jt.join(", ")+'"')},COUNT:function(a,t,e){t.count=O(a)},INTERVAL:function(a,t,e){t.interval=O(a),t.interval<1&&(t.interval=1)},UNTIL:function(a,t,e){a.length>10?t.until=b.icalendar.value["date-time"].fromICAL(a):t.until=b.icalendar.value.date.fromICAL(a),e||(t.until=h.fromString(t.until))},WKST:function(a,t,e){if(s0.test(a))t.wkst=w.icalDayToNumericDay(a);else throw new Error('invalid WKST value "'+a+'"')}},It={BYSECOND:Z.bind(void 0,"BYSECOND",0,60),BYMINUTE:Z.bind(void 0,"BYMINUTE",0,59),BYHOUR:Z.bind(void 0,"BYHOUR",0,23),BYDAY:function(a){if(a0.test(a))return a;throw new Error('invalid BYDAY value "'+a+'"')},BYMONTHDAY:Z.bind(void 0,"BYMONTHDAY",-31,31),BYYEARDAY:Z.bind(void 0,"BYYEARDAY",-366,366),BYWEEKNO:Z.bind(void 0,"BYWEEKNO",-53,53),BYMONTH:Z.bind(void 0,"BYMONTH",1,12),BYSETPOS:Z.bind(void 0,"BYSETPOS",-366,366)},i0=/\\\\|\\;|\\,|\\[Nn]/g,n0=/\\|;|,|\n/g,$t=/\\\\|\\,|\\[Nn]/g,Xt=/\\|,|\n/g;function zt(a,t){return{matches:/.*/,fromICAL:function(e,s){return l0(e,a,s)},toICAL:function(e,s){let r=t;return s&&(r=new RegExp(r.source+"|"+s,r.flags)),e.replace(r,function(i){switch(i){case"\\":return"\\\\";case";":return"\\;";case",":return"\\,";case`
|
|
`:return"\\n";default:return i}})}}}const S={defaultType:"text"},pt={defaultType:"text",multiValue:","},wt={defaultType:"text",structuredValue:";"},gt={defaultType:"integer"},Dt={defaultType:"date-time",allowedTypes:["date-time","date"]},Et={defaultType:"date-time"},I={defaultType:"uri"},Qt={defaultType:"utc-offset"},te={defaultType:"recur"},ee={defaultType:"date-and-or-time",allowedTypes:["date-time","date","text"]};function o0(a){switch(a){case"\\\\":return"\\";case"\\;":return";";case"\\,":return",";case"\\n":case"\\N":return`
|
|
`;default:return a}}function l0(a,t,e){return a.indexOf("\\")===-1?a:(e&&(t=new RegExp(t.source+"|\\\\"+e,t.flags)),a.replace(t,o0))}let Wt={categories:pt,url:I,version:S,uid:S},jt={boolean:{values:["TRUE","FALSE"],fromICAL:function(a){switch(a){case"TRUE":return!0;case"FALSE":return!1;default:return!1}},toICAL:function(a){return a?"TRUE":"FALSE"}},float:{matches:/^[+-]?\d+\.\d+$/,fromICAL:function(a){let t=parseFloat(a);return ft(t)?0:t},toICAL:function(a){return String(a)}},integer:{fromICAL:function(a){let t=parseInt(a);return ft(t)?0:t},toICAL:function(a){return String(a)}},"utc-offset":{toICAL:function(a){return a.length<7?a.slice(0,3)+a.slice(4,6):a.slice(0,3)+a.slice(4,6)+a.slice(7,9)},fromICAL:function(a){return a.length<6?a.slice(0,3)+":"+a.slice(3,5):a.slice(0,3)+":"+a.slice(3,5)+":"+a.slice(5,7)},decorate:function(a){return V.fromString(a)},undecorate:function(a){return a.toString()}}},u0={cutype:{values:["INDIVIDUAL","GROUP","RESOURCE","ROOM","UNKNOWN"],allowXName:!0,allowIanaToken:!0},"delegated-from":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},"delegated-to":{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},encoding:{values:["8BIT","BASE64"]},fbtype:{values:["FREE","BUSY","BUSY-UNAVAILABLE","BUSY-TENTATIVE"],allowXName:!0,allowIanaToken:!0},member:{valueType:"cal-address",multiValue:",",multiValueSeparateDQuote:!0},partstat:{values:["NEEDS-ACTION","ACCEPTED","DECLINED","TENTATIVE","DELEGATED","COMPLETED","IN-PROCESS"],allowXName:!0,allowIanaToken:!0},range:{values:["THISANDFUTURE"]},related:{values:["START","END"]},reltype:{values:["PARENT","CHILD","SIBLING"],allowXName:!0,allowIanaToken:!0},role:{values:["REQ-PARTICIPANT","CHAIR","OPT-PARTICIPANT","NON-PARTICIPANT"],allowXName:!0,allowIanaToken:!0},rsvp:{values:["TRUE","FALSE"]},"sent-by":{valueType:"cal-address"},tzid:{matches:/^\//},value:{values:["binary","boolean","cal-address","date","date-time","duration","float","integer","period","recur","text","time","uri","utc-offset"],allowXName:!0,allowIanaToken:!0}};const x=ut(jt,{text:zt(i0,n0),uri:{},binary:{decorate:function(a){return Mt.fromString(a)},undecorate:function(a){return a.toString()}},"cal-address":{},date:{decorate:function(a,t){return h.fromDateString(a,t)},undecorate:function(a){return a.toString()},fromICAL:function(a){return a.slice(0,4)+"-"+a.slice(4,6)+"-"+a.slice(6,8)},toICAL:function(a){let t=a.length;return t==10?a.slice(0,4)+a.slice(5,7)+a.slice(8,10):t>=19?x["date-time"].toICAL(a):a}},"date-time":{fromICAL:function(a){{let t=a.slice(0,4)+"-"+a.slice(4,6)+"-"+a.slice(6,8)+"T"+a.slice(9,11)+":"+a.slice(11,13)+":"+a.slice(13,15);return a[15]&&a[15]==="Z"&&(t+="Z"),t}},toICAL:function(a){if(a.length>=19){let t=a.slice(0,4)+a.slice(5,7)+a.slice(8,13)+a.slice(14,16)+a.slice(17,19);return a[19]&&a[19]==="Z"&&(t+="Z"),t}else return a},decorate:function(a,t){return h.fromDateTimeString(a,t)},undecorate:function(a){return a.toString()}},duration:{decorate:function(a){return M.fromString(a)},undecorate:function(a){return a.toString()}},period:{fromICAL:function(a){let t=a.split("/");return t[0]=x["date-time"].fromICAL(t[0]),M.isValueString(t[1])||(t[1]=x["date-time"].fromICAL(t[1])),t},toICAL:function(a){return a=a.slice(),a[0]=x["date-time"].toICAL(a[0]),M.isValueString(a[1])||(a[1]=x["date-time"].toICAL(a[1])),a.join("/")},decorate:function(a,t){return K.fromJSON(a,t,!1)},undecorate:function(a){return a.toJSON()}},recur:{fromICAL:function(a){return w._stringToData(a,!0)},toICAL:function(a){let t="";for(let[e,s]of Object.entries(a))e=="until"?s.length>10?s=x["date-time"].toICAL(s):s=x.date.toICAL(s):e=="wkst"?typeof s=="number"&&(s=w.numericDayToIcalDay(s)):Array.isArray(s)&&(s=s.join(",")),t+=e.toUpperCase()+"="+s+";";return t.slice(0,Math.max(0,t.length-1))},decorate:function(a){return w.fromData(a)},undecorate:function(a){return a.toJSON()}},time:{fromICAL:function(a){if(a.length<6)return a;let t=a.slice(0,2)+":"+a.slice(2,4)+":"+a.slice(4,6);return a[6]==="Z"&&(t+="Z"),t},toICAL:function(a){if(a.length<8)return a;let t=a.slice(0,2)+a.slice(3,5)+a.slice(6,8);return a[8]==="Z"&&(t+="Z"),t}}});let d0=ut(Wt,{action:S,attach:{defaultType:"uri"},attendee:{defaultType:"cal-address"},calscale:S,class:S,comment:S,completed:Et,contact:S,created:Et,description:S,dtend:Dt,dtstamp:Et,dtstart:Dt,due:Dt,duration:{defaultType:"duration"},exdate:{defaultType:"date-time",allowedTypes:["date-time","date"],multiValue:","},exrule:te,freebusy:{defaultType:"period",multiValue:","},geo:{defaultType:"float",structuredValue:";"},"last-modified":Et,location:S,method:S,organizer:{defaultType:"cal-address"},"percent-complete":gt,priority:gt,prodid:S,"related-to":S,repeat:gt,rdate:{defaultType:"date-time",allowedTypes:["date-time","date","period"],multiValue:",",detectType:function(a){return a.indexOf("/")!==-1?"period":a.indexOf("T")===-1?"date":"date-time"}},"recurrence-id":Dt,resources:pt,"request-status":wt,rrule:te,sequence:gt,status:S,summary:S,transp:S,trigger:{defaultType:"duration",allowedTypes:["duration","date-time"]},tzoffsetfrom:Qt,tzoffsetto:Qt,tzurl:I,tzid:S,tzname:S});const P=ut(jt,{text:zt($t,Xt),uri:zt($t,Xt),date:{decorate:function(a){return Q.fromDateAndOrTimeString(a,"date")},undecorate:function(a){return a.toString()},fromICAL:function(a){return a.length==8?x.date.fromICAL(a):a[0]=="-"&&a.length==6?a.slice(0,4)+"-"+a.slice(4):a},toICAL:function(a){return a.length==10?x.date.toICAL(a):a[0]=="-"&&a.length==7?a.slice(0,4)+a.slice(5):a}},time:{decorate:function(a){return Q.fromDateAndOrTimeString("T"+a,"time")},undecorate:function(a){return a.toString()},fromICAL:function(a){let t=P.time._splitZone(a,!0),e=t[0],s=t[1];return s.length==6?s=s.slice(0,2)+":"+s.slice(2,4)+":"+s.slice(4,6):s.length==4&&s[0]!="-"?s=s.slice(0,2)+":"+s.slice(2,4):s.length==5&&(s=s.slice(0,3)+":"+s.slice(3,5)),e.length==5&&(e[0]=="-"||e[0]=="+")&&(e=e.slice(0,3)+":"+e.slice(3)),s+e},toICAL:function(a){let t=P.time._splitZone(a),e=t[0],s=t[1];return s.length==8?s=s.slice(0,2)+s.slice(3,5)+s.slice(6,8):s.length==5&&s[0]!="-"?s=s.slice(0,2)+s.slice(3,5):s.length==6&&(s=s.slice(0,3)+s.slice(4,6)),e.length==6&&(e[0]=="-"||e[0]=="+")&&(e=e.slice(0,3)+e.slice(4)),s+e},_splitZone:function(a,t){let e=a.length-1,s=a.length-(t?5:6),r=a[s],i,o;return a[e]=="Z"?(i=a[e],o=a.slice(0,Math.max(0,e))):a.length>6&&(r=="-"||r=="+")?(i=a.slice(s),o=a.slice(0,Math.max(0,s))):(i="",o=a),[i,o]}},"date-time":{decorate:function(a){return Q.fromDateAndOrTimeString(a,"date-time")},undecorate:function(a){return a.toString()},fromICAL:function(a){return P["date-and-or-time"].fromICAL(a)},toICAL:function(a){return P["date-and-or-time"].toICAL(a)}},"date-and-or-time":{decorate:function(a){return Q.fromDateAndOrTimeString(a,"date-and-or-time")},undecorate:function(a){return a.toString()},fromICAL:function(a){let t=a.split("T");return(t[0]?P.date.fromICAL(t[0]):"")+(t[1]?"T"+P.time.fromICAL(t[1]):"")},toICAL:function(a){let t=a.split("T");return P.date.toICAL(t[0])+(t[1]?"T"+P.time.toICAL(t[1]):"")}},timestamp:x["date-time"],"language-tag":{matches:/^[a-zA-Z0-9-]+$/},"phone-number":{fromICAL:function(a){return Array.from(a).filter(function(t){return t==="\\"?void 0:t}).join("")},toICAL:function(a){return Array.from(a).map(function(t){return t===","||t===";"?"\\"+t:t}).join("")}}});let c0={type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","time","date-time","date-and-or-time","timestamp","boolean","integer","float","utc-offset","language-tag"],allowXName:!0,allowIanaToken:!0}},h0=ut(Wt,{adr:{defaultType:"text",structuredValue:";",multiValue:","},anniversary:ee,bday:ee,caladruri:I,caluri:I,clientpidmap:wt,email:S,fburl:I,fn:S,gender:wt,geo:I,impp:I,key:I,kind:S,lang:{defaultType:"language-tag"},logo:I,member:I,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:pt,note:S,org:{defaultType:"text",structuredValue:";"},photo:I,related:I,rev:{defaultType:"timestamp"},role:S,sound:I,source:I,tel:{defaultType:"uri",allowedTypes:["uri","text"]},title:S,tz:{defaultType:"text",allowedTypes:["text","utc-offset","uri"]},xml:S}),m0=ut(jt,{binary:x.binary,date:P.date,"date-time":P["date-time"],"phone-number":P["phone-number"],uri:x.uri,text:P.text,time:x.time,vcard:x.text,"utc-offset":{toICAL:function(a){return a.slice(0,7)},fromICAL:function(a){return a.slice(0,7)},decorate:function(a){return V.fromString(a)},undecorate:function(a){return a.toString()}}}),f0={type:{valueType:"text",multiValue:","},value:{values:["text","uri","date","date-time","phone-number","time","boolean","integer","float","utc-offset","vcard","binary"],allowXName:!0,allowIanaToken:!0}},p0=ut(Wt,{fn:S,n:{defaultType:"text",structuredValue:";",multiValue:","},nickname:pt,photo:{defaultType:"binary",allowedTypes:["binary","uri"]},bday:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(a){return a.indexOf("T")===-1?"date":"date-time"}},adr:{defaultType:"text",structuredValue:";",multiValue:","},label:S,tel:{defaultType:"phone-number"},email:S,mailer:S,tz:{defaultType:"utc-offset",allowedTypes:["utc-offset","text"]},geo:{defaultType:"float",structuredValue:";"},title:S,role:S,logo:{defaultType:"binary",allowedTypes:["binary","uri"]},agent:{defaultType:"vcard",allowedTypes:["vcard","text","uri"]},org:wt,note:pt,prodid:S,rev:{defaultType:"date-time",allowedTypes:["date-time","date"],detectType:function(a){return a.indexOf("T")===-1?"date":"date-time"}},"sort-string":S,sound:{defaultType:"binary",allowedTypes:["binary","uri"]},class:S,key:{defaultType:"binary",allowedTypes:["binary","text"]}}),F={name:"ical",value:x,param:u0,property:d0,propertyGroups:!1},se={name:"vcard4",value:P,param:c0,property:h0,propertyGroups:!0},ae={name:"vcard3",value:m0,param:f0,property:p0,propertyGroups:!0};const b={strict:!0,defaultSet:F,defaultType:"unknown",components:{vcard:se,vcard3:ae,vevent:F,vtodo:F,vjournal:F,valarm:F,vtimezone:F,daylight:F,standard:F},icalendar:F,vcard:se,vcard3:ae,getDesignSet:function(a){return a&&a in b.components?b.components[a]:b.defaultSet}},Ct=`\r
|
|
`,re="unknown",T0={'"':"^'","\n":"^n","^":"^^"};function _(a){typeof a[0]=="string"&&(a=[a]);let t=0,e=a.length,s="";for(;t<e;t++)s+=_.component(a[t])+Ct;return s}_.component=function(a,t){let e=a[0].toUpperCase(),s="BEGIN:"+e+Ct,r=a[1],i=0,o=r.length,n=a[0];for(n==="vcard"&&a[1].length>0&&!(a[1][0][0]==="version"&&a[1][0][3]==="4.0")&&(n="vcard3"),t=t||b.getDesignSet(n);i<o;i++)s+=_.property(r[i],t)+Ct;let l=a[2]||[],u=0,c=l.length;for(;u<c;u++)s+=_.component(l[u],t)+Ct;return s+="END:"+e,s},_.property=function(a,t,e){let s=a[0].toUpperCase(),r=a[0],i=a[1];t||(t=b.defaultSet);let o=i.group,n;t.propertyGroups&&o?n=o.toUpperCase()+"."+s:n=s;for(let[p,y]of Object.entries(i)){if(t.propertyGroups&&p=="group")continue;let f=t.param[p],A=f&&f.multiValue;A&&Array.isArray(y)?(y=y.map(function(U){return U=_._rfc6868Unescape(U),U=_.paramPropertyValue(U,f.multiValueSeparateDQuote),U}),y=_.multiValue(y,A,"unknown",null,t)):(y=_._rfc6868Unescape(y),y=_.paramPropertyValue(y)),n+=";"+p.toUpperCase()+"="+y}if(a.length===3)return n+":";let l=a[2],u,c=!1,d=!1,m=!1;return r in t.property?(u=t.property[r],"multiValue"in u&&(c=u.multiValue),"structuredValue"in u&&Array.isArray(a[3])&&(d=u.structuredValue),"defaultType"in u?l===u.defaultType&&(m=!0):l===re&&(m=!0)):l===re&&(m=!0),m||(n+=";VALUE="+l.toUpperCase()),n+=":",c&&d?n+=_.multiValue(a[3],d,l,c,t,d):c?n+=_.multiValue(a.slice(3),c,l,null,t,!1):d?n+=_.multiValue(a[3],d,l,null,t,d):n+=_.value(a[3],l,t,!1),e?n:me(n)},_.paramPropertyValue=function(a,t){return!t&&a.indexOf(",")===-1&&a.indexOf(":")===-1&&a.indexOf(";")===-1?a:'"'+a+'"'},_.multiValue=function(a,t,e,s,r,i){let o="",n=a.length,l=0;for(;l<n;l++)s&&Array.isArray(a[l])?o+=_.multiValue(a[l],s,e,null,r,i):o+=_.value(a[l],e,r,i),l!==n-1&&(o+=t);return o},_.value=function(a,t,e,s){return t in e.value&&"toICAL"in e.value[t]?e.value[t].toICAL(a,s):a},_._rfc6868Unescape=function(a){return a.replace(/[\n^"]/g,function(t){return T0[t]})};const ie=0,_t=1,bt=2,J=3;class ot{static fromString(t,e){return new ot(g.property(t,e))}constructor(t,e){this._parent=e||null,typeof t=="string"?(this.jCal=[t,{},b.defaultType],this.jCal[bt]=this.getDefaultType()):this.jCal=t,this._updateType()}get type(){return this.jCal[bt]}get name(){return this.jCal[ie]}get parent(){return this._parent}set parent(t){let e=!this._parent||t&&t._designSet!=this._parent._designSet;this._parent=t,this.type==b.defaultType&&e&&(this.jCal[bt]=this.getDefaultType(),this._updateType())}get _designSet(){return this.parent?this.parent._designSet:b.defaultSet}_updateType(){let t=this._designSet;this.type in t.value&&("decorate"in t.value[this.type]?this.isDecorated=!0:this.isDecorated=!1,this.name in t.property&&(this.isMultiValue="multiValue"in t.property[this.name],this.isStructuredValue="structuredValue"in t.property[this.name]))}_hydrateValue(t){return this._values&&this._values[t]?this._values[t]:this.jCal.length<=J+t?null:this.isDecorated?(this._values||(this._values=[]),this._values[t]=this._decorate(this.jCal[J+t])):this.jCal[J+t]}_decorate(t){return this._designSet.value[this.type].decorate(t,this)}_undecorate(t){return this._designSet.value[this.type].undecorate(t,this)}_setDecoratedValue(t,e){this._values||(this._values=[]),typeof t=="object"&&"icaltype"in t?(this.jCal[J+e]=this._undecorate(t),this._values[e]=t):(this.jCal[J+e]=t,this._values[e]=this._decorate(t))}getParameter(t){if(t in this.jCal[_t])return this.jCal[_t][t]}getFirstParameter(t){let e=this.getParameter(t);return Array.isArray(e)?e[0]:e}setParameter(t,e){let s=t.toLowerCase();typeof e=="string"&&s in this._designSet.param&&"multiValue"in this._designSet.param[s]&&(e=[e]),this.jCal[_t][t]=e}removeParameter(t){delete this.jCal[_t][t]}getDefaultType(){let t=this.jCal[ie],e=this._designSet;if(t in e.property){let s=e.property[t];if("defaultType"in s)return s.defaultType}return b.defaultType}resetType(t){this.removeAllValues(),this.jCal[bt]=t,this._updateType()}getFirstValue(){return this._hydrateValue(0)}getValues(){let t=this.jCal.length-J;if(t<1)return[];let e=0,s=[];for(;e<t;e++)s[e]=this._hydrateValue(e);return s}removeAllValues(){this._values&&(this._values.length=0),this.jCal.length=3}setValues(t){if(!this.isMultiValue)throw new Error(this.name+`: does not not support mulitValue.
|
|
override isMultiValue`);let e=t.length,s=0;if(this.removeAllValues(),e>0&&typeof t[0]=="object"&&"icaltype"in t[0]&&this.resetType(t[0].icaltype),this.isDecorated)for(;s<e;s++)this._setDecoratedValue(t[s],s);else for(;s<e;s++)this.jCal[J+s]=t[s]}setValue(t){this.removeAllValues(),typeof t=="object"&&"icaltype"in t&&this.resetType(t.icaltype),this.isDecorated?this._setDecoratedValue(t,0):this.jCal[J]=t}toJSON(){return this.jCal}toICALString(){return _.property(this.jCal,this._designSet,!0)}}const $=0,H=1,X=2,y0=0,S0=3;class z{static fromString(t){return new z(g.component(t))}constructor(t,e){typeof t=="string"&&(t=[t,[],[]]),this.jCal=t,this.parent=e||null,!this.parent&&this.name==="vcalendar"&&(this._timezoneCache=new Map)}_hydratedPropertyCount=0;_hydratedComponentCount=0;_timezoneCache=null;_components=null;_properties=null;get name(){return this.jCal[$]}get _designSet(){let t=this.parent&&this.parent._designSet;if(!t&&this.name=="vcard"){let e=this.jCal[H]?.[0];if(e&&e[y0]=="version"&&e[S0]=="3.0")return b.getDesignSet("vcard3")}return t||b.getDesignSet(this.name)}_hydrateComponent(t){if(this._components||(this._components=[],this._hydratedComponentCount=0),this._components[t])return this._components[t];let e=new z(this.jCal[X][t],this);return this._hydratedComponentCount++,this._components[t]=e}_hydrateProperty(t){if(this._properties||(this._properties=[],this._hydratedPropertyCount=0),this._properties[t])return this._properties[t];let e=new ot(this.jCal[H][t],this);return this._hydratedPropertyCount++,this._properties[t]=e}getFirstSubcomponent(t){if(t){let e=0,s=this.jCal[X],r=s.length;for(;e<r;e++)if(s[e][$]===t)return this._hydrateComponent(e)}else if(this.jCal[X].length)return this._hydrateComponent(0);return null}getAllSubcomponents(t){let e=this.jCal[X].length,s=0;if(t){let r=this.jCal[X],i=[];for(;s<e;s++)t===r[s][$]&&i.push(this._hydrateComponent(s));return i}else{if(!this._components||this._hydratedComponentCount!==e)for(;s<e;s++)this._hydrateComponent(s);return this._components||[]}}hasProperty(t){let e=this.jCal[H],s=e.length,r=0;for(;r<s;r++)if(e[r][$]===t)return!0;return!1}getFirstProperty(t){if(t){let e=0,s=this.jCal[H],r=s.length;for(;e<r;e++)if(s[e][$]===t)return this._hydrateProperty(e)}else if(this.jCal[H].length)return this._hydrateProperty(0);return null}getFirstPropertyValue(t){let e=this.getFirstProperty(t);return e?e.getFirstValue():null}getAllProperties(t){let e=this.jCal[H].length,s=0;if(t){let r=this.jCal[H],i=[];for(;s<e;s++)t===r[s][$]&&i.push(this._hydrateProperty(s));return i}else{if(!this._properties||this._hydratedPropertyCount!==e)for(;s<e;s++)this._hydrateProperty(s);return this._properties||[]}}_removeObjectByIndex(t,e,s){if(e=e||[],e[s]){let r=e[s];"parent"in r&&(r.parent=null)}e.splice(s,1),this.jCal[t].splice(s,1)}_removeObject(t,e,s){let r=0,i=this.jCal[t],o=i.length,n=this[e];if(typeof s=="string"){for(;r<o;r++)if(i[r][$]===s)return this._removeObjectByIndex(t,n,r),!0}else if(n){for(;r<o;r++)if(n[r]&&n[r]===s)return this._removeObjectByIndex(t,n,r),!0}return!1}_removeAllObjects(t,e,s){let r=this[e],i=this.jCal[t],o=i.length-1;for(;o>=0;o--)(!s||i[o][$]===s)&&this._removeObjectByIndex(t,r,o)}addSubcomponent(t){this._components||(this._components=[],this._hydratedComponentCount=0),t.parent&&t.parent.removeSubcomponent(t);let e=this.jCal[X].push(t.jCal);return this._components[e-1]=t,this._hydratedComponentCount++,t.parent=this,t}removeSubcomponent(t){let e=this._removeObject(X,"_components",t);return e&&this._hydratedComponentCount--,e}removeAllSubcomponents(t){let e=this._removeAllObjects(X,"_components",t);return this._hydratedComponentCount=0,e}addProperty(t){if(!(t instanceof ot))throw new TypeError("must be instance of ICAL.Property");this._properties||(this._properties=[],this._hydratedPropertyCount=0),t.parent&&t.parent.removeProperty(t);let e=this.jCal[H].push(t.jCal);return this._properties[e-1]=t,this._hydratedPropertyCount++,t.parent=this,t}addPropertyWithValue(t,e){let s=new ot(t);return s.setValue(e),this.addProperty(s),s}updatePropertyWithValue(t,e){let s=this.getFirstProperty(t);return s?s.setValue(e):s=this.addPropertyWithValue(t,e),s}removeProperty(t){let e=this._removeObject(H,"_properties",t);return e&&this._hydratedPropertyCount--,e}removeAllProperties(t){let e=this._removeAllObjects(H,"_properties",t);return this._hydratedPropertyCount=0,e}toJSON(){return this.jCal}toString(){return _.component(this.jCal,this._designSet)}getTimeZoneByID(t){if(this.parent)return this.parent.getTimeZoneByID(t);if(!this._timezoneCache)return null;if(this._timezoneCache.has(t))return this._timezoneCache.get(t);const e=this.getAllSubcomponents("vtimezone");for(const s of e)if(s.getFirstProperty("tzid").getFirstValue()===t){const r=new T({component:s,tzid:t});return this._timezoneCache.set(t,r),r}return null}}class pe{constructor(t){this.ruleDates=[],this.exDates=[],this.fromData(t)}complete=!1;ruleIterators=null;ruleDates=null;exDates=null;ruleDateInc=0;exDateInc=0;exDate=null;ruleDate=null;dtstart=null;last=null;fromData(t){let e=q(t.dtstart,h);if(e)this.dtstart=e;else throw new Error(".dtstart (ICAL.Time) must be given");if(t.component)this._init(t.component);else{if(this.last=q(t.last,h)||e.clone(),!t.ruleIterators)throw new Error(".ruleIterators or .component must be given");this.ruleIterators=t.ruleIterators.map(function(s){return q(s,j)}),this.ruleDateInc=t.ruleDateInc,this.exDateInc=t.exDateInc,t.ruleDates&&(this.ruleDates=t.ruleDates.map(s=>q(s,h)),this.ruleDate=this.ruleDates[this.ruleDateInc]),t.exDates&&(this.exDates=t.exDates.map(s=>q(s,h)),this.exDate=this.exDates[this.exDateInc]),typeof t.complete<"u"&&(this.complete=t.complete)}}_compare_special(t,e){return!t.isDate&&e.isDate?new h({year:t.year,month:t.month,day:t.day}).compare(e):t.compare(e)}next(){let t,e,s,r=500,i=0;for(;;){if(i++>r)throw new Error("max tries have occurred, rule may be impossible to fulfill.");if(e=this.ruleDate,t=this._nextRecurrenceIter(this.last),!e&&!t){this.complete=!0;break}if((!e||t&&e.compare(t.last)>0)&&(e=t.last.clone(),t.next()),this.ruleDate===e&&this._nextRuleDay(),this.last=e,this.exDate&&(s=this._compare_special(this.last,this.exDate),s>0&&this._nextExDay(),s===0)){this._nextExDay();continue}return this.last}}toJSON(){function t(s){return s.toJSON()}let e=Object.create(null);return e.ruleIterators=this.ruleIterators.map(t),this.ruleDates&&(e.ruleDates=this.ruleDates.map(t)),this.exDates&&(e.exDates=this.exDates.map(t)),e.ruleDateInc=this.ruleDateInc,e.exDateInc=this.exDateInc,e.last=this.last.toJSON(),e.dtstart=this.dtstart.toJSON(),e.complete=this.complete,e}_extractDates(t,e){let s=[],r=t.getAllProperties(e);for(let i=0,o=r.length;i<o;i++)for(let n of r[i].getValues()){let l=nt(s,n,(u,c)=>u.compare(c));s.splice(l,0,n)}return s}_init(t){if(this.ruleIterators=[],this.last=this.dtstart.clone(),!t.hasProperty("rdate")&&!t.hasProperty("rrule")&&!t.hasProperty("recurrence-id")){this.ruleDate=this.last.clone(),this.complete=!0;return}if(t.hasProperty("rdate")&&(this.ruleDates=this._extractDates(t,"rdate"),this.ruleDates[0]&&this.ruleDates[0].compare(this.dtstart)<0?(this.ruleDateInc=0,this.last=this.ruleDates[0].clone()):this.ruleDateInc=nt(this.ruleDates,this.last,(e,s)=>e.compare(s)),this.ruleDate=this.ruleDates[this.ruleDateInc]),t.hasProperty("rrule")){let e=t.getAllProperties("rrule"),s=0,r=e.length,i,o;for(;s<r;s++)i=e[s].getFirstValue(),o=i.iterator(this.dtstart),this.ruleIterators.push(o),o.next()}t.hasProperty("exdate")&&(this.exDates=this._extractDates(t,"exdate"),this.exDateInc=nt(this.exDates,this.last,this._compare_special),this.exDate=this.exDates[this.exDateInc])}_nextExDay(){this.exDate=this.exDates[++this.exDateInc]}_nextRuleDay(){this.ruleDate=this.ruleDates[++this.ruleDateInc]}_nextRecurrenceIter(){let t=this.ruleIterators;if(t.length===0)return null;let e=t.length,s,r,i=0,o;for(;i<e;i++){if(s=t[i],r=s.last,s.completed){e--,i!==0&&i--,t.splice(i,1);continue}(!o||o.last.compare(r)>0)&&(o=s)}return o}}class Tt{constructor(t,e){t instanceof z||(e=t,t=null),t?this.component=t:this.component=new z("vevent"),this._rangeExceptionCache=Object.create(null),this.exceptions=Object.create(null),this.rangeExceptions=[],e&&e.strictExceptions&&(this.strictExceptions=e.strictExceptions),e&&e.exceptions?e.exceptions.forEach(this.relateException,this):this.component.parent&&!this.isRecurrenceException()&&this.component.parent.getAllSubcomponents("vevent").forEach(function(s){s.hasProperty("recurrence-id")&&this.relateException(s)},this)}static THISANDFUTURE="THISANDFUTURE";exceptions=null;strictExceptions=!1;relateException(t){if(this.isRecurrenceException())throw new Error("cannot relate exception to exceptions");if(t instanceof z&&(t=new Tt(t)),this.strictExceptions&&t.uid!==this.uid)throw new Error("attempted to relate unrelated exception");let e=t.recurrenceId.toString();if(this.exceptions[e]=t,t.modifiesFuture()){let s=[t.recurrenceId.toUnixTime(),e],r=nt(this.rangeExceptions,s,ne);this.rangeExceptions.splice(r,0,s)}}modifiesFuture(){return this.component.hasProperty("recurrence-id")?this.component.getFirstProperty("recurrence-id").getParameter("range")===Tt.THISANDFUTURE:!1}findRangeException(t){if(!this.rangeExceptions.length)return null;let e=t.toUnixTime(),s=nt(this.rangeExceptions,[e],ne);if(s-=1,s<0)return null;let r=this.rangeExceptions[s];return e<r[0]?null:r[1]}getOccurrenceDetails(t){let e=t.toString(),s=t.convertToZone(T.utcTimezone).toString(),r,i={recurrenceId:t};if(e in this.exceptions)r=i.item=this.exceptions[e],i.startDate=r.startDate,i.endDate=r.endDate,i.item=r;else if(s in this.exceptions)r=this.exceptions[s],i.startDate=r.startDate,i.endDate=r.endDate,i.item=r;else{let o=this.findRangeException(t),n;if(o){let l=this.exceptions[o];i.item=l;let u=this._rangeExceptionCache[o];if(!u){let d=l.recurrenceId.clone(),m=l.startDate.clone();d.zone=m.zone,u=m.subtractDate(d),this._rangeExceptionCache[o]=u}let c=t.clone();c.zone=l.startDate.zone,c.addDuration(u),n=c.clone(),n.addDuration(l.duration),i.startDate=c,i.endDate=n}else n=t.clone(),n.addDuration(this.duration),i.endDate=n,i.startDate=t,i.item=this}return i}iterator(t){return new pe({component:this.component,dtstart:t||this.startDate})}isRecurring(){let t=this.component;return t.hasProperty("rrule")||t.hasProperty("rdate")}isRecurrenceException(){return this.component.hasProperty("recurrence-id")}getRecurrenceTypes(){let t=this.component.getAllProperties("rrule"),e=0,s=t.length,r=Object.create(null);for(;e<s;e++){let i=t[e].getFirstValue();r[i.freq]=!0}return r}get uid(){return this._firstProp("uid")}set uid(t){this._setProp("uid",t)}get startDate(){return this._firstProp("dtstart")}set startDate(t){this._setTime("dtstart",t)}get endDate(){let t=this._firstProp("dtend");if(!t){let e=this._firstProp("duration");t=this.startDate.clone(),e?t.addDuration(e):t.isDate&&(t.day+=1)}return t}set endDate(t){this.component.hasProperty("duration")&&this.component.removeProperty("duration"),this._setTime("dtend",t)}get duration(){return this._firstProp("duration")||this.endDate.subtractDateTz(this.startDate)}set duration(t){this.component.hasProperty("dtend")&&this.component.removeProperty("dtend"),this._setProp("duration",t)}get location(){return this._firstProp("location")}set location(t){this._setProp("location",t)}get attendees(){return this.component.getAllProperties("attendee")}get summary(){return this._firstProp("summary")}set summary(t){this._setProp("summary",t)}get description(){return this._firstProp("description")}set description(t){this._setProp("description",t)}get color(){return this._firstProp("color")}set color(t){this._setProp("color",t)}get organizer(){return this._firstProp("organizer")}set organizer(t){this._setProp("organizer",t)}get sequence(){return this._firstProp("sequence")}set sequence(t){this._setProp("sequence",t)}get recurrenceId(){return this._firstProp("recurrence-id")}set recurrenceId(t){this._setTime("recurrence-id",t)}_setTime(t,e){let s=this.component.getFirstProperty(t);s||(s=new ot(t),this.component.addProperty(s)),e.zone===T.localTimezone||e.zone===T.utcTimezone?s.removeParameter("tzid"):s.setParameter("tzid",e.zone.tzid),s.setValue(e)}_setProp(t,e){this.component.updatePropertyWithValue(t,e)}_firstProp(t){return this.component.getFirstPropertyValue(t)}toString(){return this.component.toString()}}function ne(a,t){return a[0]>t[0]?1:t[0]>a[0]?-1:0}class A0{constructor(t){typeof t>"u"&&(t={});for(let[e,s]of Object.entries(t))this[e]=s}parseEvent=!0;parseTimezone=!0;oncomplete=function(){};onerror=function(t){};ontimezone=function(t){};onevent=function(t){};process(t){typeof t=="string"&&(t=g(t)),t instanceof z||(t=new z(t));let e=t.getAllSubcomponents(),s=0,r=e.length,i;for(;s<r;s++)switch(i=e[s],i.name){case"vtimezone":if(this.parseTimezone){let o=i.getFirstPropertyValue("tzid");o&&this.ontimezone(new T({tzid:o,component:i}))}break;case"vevent":this.parseEvent&&this.onevent(new Tt(i));break;default:continue}this.oncomplete()}}var L={foldLength:75,debug:!1,newLineChar:`\r
|
|
`,Binary:Mt,Component:z,ComponentParser:A0,Duration:M,Event:Tt,Period:K,Property:ot,Recur:w,RecurExpansion:pe,RecurIterator:j,Time:h,Timezone:T,TimezoneService:Ot,UtcOffset:V,VCardTime:Q,parse:g,stringify:_,design:b,helpers:e0};const Y=[];for(let a=0;a<256;++a)Y.push((a+256).toString(16).slice(1));function g0(a,t=0){return(Y[a[t+0]]+Y[a[t+1]]+Y[a[t+2]]+Y[a[t+3]]+"-"+Y[a[t+4]]+Y[a[t+5]]+"-"+Y[a[t+6]]+Y[a[t+7]]+"-"+Y[a[t+8]]+Y[a[t+9]]+"-"+Y[a[t+10]]+Y[a[t+11]]+Y[a[t+12]]+Y[a[t+13]]+Y[a[t+14]]+Y[a[t+15]]).toLowerCase()}let kt;const D0=new Uint8Array(16);function E0(){if(!kt){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");kt=crypto.getRandomValues.bind(crypto)}return kt(D0)}const _0=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),oe={randomUUID:_0};function b0(a,t,e){a=a||{};const s=a.random??a.rng?.()??E0();if(s.length<16)throw new Error("Random bytes length must be >= 16");return s[6]=s[6]&15|64,s[8]=s[8]&63|128,g0(s)}function U0(a,t,e){return oe.randomUUID&&!a?oe.randomUUID():b0(a)}const C0=(a,t)=>{const e=a.__vccOpts||a;for(const[s,r]of t)e[s]=r;return e},Y0={name:"CalendarAvailability",components:{NcDateTimePickerNative:ce,NcButton:Ht,IconAdd:xe,IconDelete:we},props:{slots:{type:Object,required:!0},loading:{type:Boolean,default:!1},l10nTo:{type:String,required:!0},l10nDeleteSlot:{type:String,required:!0},l10nEmptyDay:{type:String,required:!0},l10nAddSlot:{type:String,required:!0},l10nWeekDayListLabel:{type:String,default:"Weekdays"},l10nMonday:{type:String,required:!0},l10nTuesday:{type:String,required:!0},l10nWednesday:{type:String,required:!0},l10nThursday:{type:String,required:!0},l10nFriday:{type:String,required:!0},l10nSaturday:{type:String,required:!0},l10nSunday:{type:String,required:!0},l10nStartPickerLabel:{type:Function,default:a=>`Pick a start time for ${a}`},l10nEndPickerLabel:{type:Function,default:a=>`Pick a end time for ${a}`}},data(){return{internalSlots:this.slotsToInternalData(this.slots)}},watch:{slots(){this.internalSlots=this.slotsToInternalData(this.slots)}},methods:{timeStampSlotsToDateObjectSlots(a){return a.map(t=>({start:new Date(t.start*1e3),end:new Date(t.end*1e3)}))},slotsToInternalData(){const a=[{id:"MO",displayName:this.l10nMonday,slots:this.timeStampSlotsToDateObjectSlots(this.slots.MO)},{id:"TU",displayName:this.l10nTuesday,slots:this.timeStampSlotsToDateObjectSlots(this.slots.TU)},{id:"WE",displayName:this.l10nWednesday,slots:this.timeStampSlotsToDateObjectSlots(this.slots.WE)},{id:"TH",displayName:this.l10nThursday,slots:this.timeStampSlotsToDateObjectSlots(this.slots.TH)},{id:"FR",displayName:this.l10nFriday,slots:this.timeStampSlotsToDateObjectSlots(this.slots.FR)},{id:"SA",displayName:this.l10nSaturday,slots:this.timeStampSlotsToDateObjectSlots(this.slots.SA)}],t={id:"SU",displayName:this.l10nSunday,slots:this.timeStampSlotsToDateObjectSlots(this.slots.SU)};return Me()===1?[...a,t]:[t,...a]},internalDataToSlots(){const a={};return this.internalSlots.forEach(({id:t,slots:e})=>{a[t]=e.map(s=>({start:Math.round(s.start.getTime()/1e3),end:Math.round(s.end.getTime()/1e3)}))}),a},addSlot(a){const t=new Date;t.setHours(9,0,0,0);const e=new Date;e.setHours(17,0,0,0),a.slots.push({start:t,end:e}),this.onChangeSlots()},removeSlot(a,t){a.slots.splice(t,1),this.onChangeSlots()},onChangeSlots(){this.$emit("update:slots",this.internalDataToSlots())}}},v0=["aria-label"],O0={class:"label-weekday"},w0=["id"],M0={class:"availability-slot-group"},N0={class:"to-text"},x0={key:0,class:"empty-content"};function I0(a,t,e,s,r,i){const o=G("NcDateTimePickerNative"),n=G("IconDelete"),l=G("NcButton"),u=G("IconAdd");return B(),W("ul",{class:"week-day-container","aria-label":e.l10nWeekDayListLabel},[(B(!0),W(Rt,null,Ft(r.internalSlots,c=>(B(),W("li",{key:`day-label-${c.id}`,class:"day-container"},[it("div",O0,[it("span",{id:c.displayName+"-label"},tt(c.displayName),9,w0)]),(B(),W("div",{key:`day-slots-${c.id}`,class:"availability-slots"},[it("div",M0,[(B(!0),W(Rt,null,Ft(c.slots,(d,m)=>(B(),W("div",{key:`slot-${c.id}-${m}`,class:"availability-slot"},[v(o,{id:`start-${c.id}-${m}`,modelValue:d.start,"onUpdate:modelValue":p=>d.start=p,type:"time",label:e.l10nStartPickerLabel?.(c.displayName),"hide-label":!0,class:"start-date",onChange:i.onChangeSlots},null,8,["id","modelValue","onUpdate:modelValue","label","onChange"]),it("span",N0,tt(e.l10nTo),1),v(o,{id:`end-${c.id}-${m}`,modelValue:d.end,"onUpdate:modelValue":p=>d.end=p,type:"time",label:e.l10nEndPickerLabel?.(c.displayName),"hide-label":!0,class:"end-date",onChange:i.onChangeSlots},null,8,["id","modelValue","onUpdate:modelValue","label","onChange"]),(B(),Bt(l,{key:`slot-${c.id}-${m}-btn`,type:"tertiary",class:"button","aria-label":e.l10nDeleteSlot,title:e.l10nDeleteSlot,onClick:p=>i.removeSlot(c,m)},{icon:et(()=>[v(n,{size:20})]),_:2},1032,["aria-label","title","onClick"]))]))),128))]),c.slots.length===0?(B(),W("span",x0,tt(e.l10nEmptyDay),1)):le("",!0)])),(B(),Bt(l,{key:`add-slot-${c.id}`,disabled:e.loading,class:"add-another button",title:e.l10nAddSlot,"aria-label":e.l10nAddSlot,onClick:d=>i.addSlot(c)},{icon:et(()=>[v(u,{size:20})]),_:2},1032,["disabled","title","aria-label","onClick"]))]))),128))],8,v0)}const k0=C0(Y0,[["render",I0],["__scopeId","data-v-3ef03e87"]]),B0=Ee().detectUser().setApp("@nextcloud/calendar-availability-vue").build();function P0(){return{MO:[],TU:[],WE:[],TH:[],FR:[],SA:[],SU:[]}}function L0(a){const t=L.parse(a),e=new L.Component(t),s=e.getFirstSubcomponent("vavailability");let r;const i=e.getFirstSubcomponent("vtimezone");i&&(r=i.getFirstProperty("tzid").getFirstValue());const o=s.getAllSubcomponents("available"),n=P0();return o.forEach(l=>{const u=l.getFirstProperty("dtstart").getFirstValue(),c=l.getFirstProperty("dtend").getFirstValue(),d=l.getFirstProperty("rrule"),m=new Date;m.setHours(u.hour,u.minute,0,0);const p=new Date;if(p.setHours(c.hour,c.minute,0,0),d.getFirstValue().freq!=="WEEKLY"){B0.warn("rrule not supported",{rrule:d.toICALString()});return}d.getFirstValue().getComponent("BYDAY").forEach(y=>{n[y].push({start:m.getTime()/1e3,end:p.getTime()/1e3})})}),{slots:n,timezoneId:r}}function z0(a,t){const e=new L.Component("vcalendar");e.addPropertyWithValue("prodid","Nextcloud DAV app");const s=Re.getZoneString(t);if(s){const o=new L.Component(L.parse(s));e.addSubcomponent(o)}else{const o=new L.Component("vtimezone");o.addPropertyWithValue("tzid",t),e.addSubcomponent(o)}const r=new L.Component("vavailability"),i=a.reduce((o,n)=>{const l=new Date(n.start*1e3),u=new Date(n.end*1e3),c=[l.getHours(),l.getMinutes(),u.getHours(),u.getMinutes()].join("-");return{...o,[c]:[...o[c]??[],n]}},{});return Object.keys(i).map(o=>{const n=i[o],l=n[0].start,u=n[0].end,c=n.map(m=>m.day).filter((m,p,y)=>y.indexOf(m)===p),d=new L.Component("available");return d.addPropertyWithValue("dtstart",L.Time.fromJSDate(new Date(l*1e3),!1)).setParameter("tzid",t),d.addPropertyWithValue("dtend",L.Time.fromJSDate(new Date(u*1e3),!1)).setParameter("tzid",t),d.addPropertyWithValue("uid",U0()),d.addPropertyWithValue("rrule",{freq:"WEEKLY",byday:c}),d}).map(r.addSubcomponent.bind(r)),e.addSubcomponent(r),e.toString()}let Ut;function Te(){if(!Ut){const a=Ue(`dav/calendars/${Pt().uid}`);Ut=Ie(a);const t=e=>{Ut.setHeaders({"X-Requested-With":"XMLHttpRequest",requesttoken:e??""})};be(t),t(_e())}return Ut}function V0(){return{MO:[],TU:[],WE:[],TH:[],FR:[],SA:[],SU:[]}}async function H0(){const a=await Te().customRequest("inbox",{method:"PROPFIND",data:`<?xml version="1.0"?>
|
|
<x0:propfind xmlns:x0="DAV:">
|
|
<x0:prop>
|
|
<x1:calendar-availability xmlns:x1="urn:ietf:params:xml:ns:caldav"/>
|
|
</x0:prop>
|
|
</x0:propfind>`}),t=await ke(await a.text());if(!t)return;const e=t?.multistatus?.response[0]?.propstat?.prop["calendar-availability"];if(e)return L0(e)}async function W0(a,t){const e=[...Object.keys(a).flatMap(r=>a[r].map(i=>({...i,day:r})))],s=z0(e,t);R.debug("New availability ical created",{vavailability:s}),await Te().customRequest("inbox",{method:"PROPPATCH",data:`<?xml version="1.0"?>
|
|
<x0:propertyupdate xmlns:x0="DAV:">
|
|
<x0:set>
|
|
<x0:prop>
|
|
<x1:calendar-availability xmlns:x1="urn:ietf:params:xml:ns:caldav">${s}</x1:calendar-availability>
|
|
</x0:prop>
|
|
</x0:set>
|
|
</x0:propertyupdate>`})}async function j0(){await ht.post(mt("/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"dav",configKey:"user_status_automation"}),{configValue:"yes"})}async function R0(){await ht.delete(mt("/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"dav",configKey:"user_status_automation"}))}const F0=ue({__name:"AvailabilityForm",setup(a){const t=ge().core.user?.timezone??Intl.DateTimeFormat().resolvedOptions().timeZone,e=yt(!0),s=yt(!1),r=yt(V0()),i=yt(Vt("dav","user_status_automation")==="yes");Se(async()=>{try{const n=await H0();n?(r.value=n.slots,R.debug("availability loaded",{slots:r.value})):R.debug("no availability is set")}catch(n){R.error("could not load existing availability",{error:n}),vt(D("dav","Failed to load availability"))}finally{e.value=!1}});async function o(){s.value=!0;try{await W0(r.value,t),i.value?await j0():await R0(),Lt(D("dav","Saved availability"))}catch(n){R.error("could not save availability",{error:n}),vt(D("dav","Failed to save availability"))}finally{s.value=!1}}return(n,l)=>(B(),W("div",null,[v(E(k0),{slots:r.value,"onUpdate:slots":l[0]||(l[0]=u=>r.value=u),loading:e.value,l10nTo:E(D)("dav","to"),l10nDeleteSlot:E(D)("dav","Delete slot"),l10nEmptyDay:E(D)("dav","No working hours set"),l10nAddSlot:E(D)("dav","Add slot"),l10nWeekDayListLabel:E(D)("dav","Weekdays"),l10nMonday:E(D)("dav","Monday"),l10nTuesday:E(D)("dav","Tuesday"),l10nWednesday:E(D)("dav","Wednesday"),l10nThursday:E(D)("dav","Thursday"),l10nFriday:E(D)("dav","Friday"),l10nSaturday:E(D)("dav","Saturday"),l10nSunday:E(D)("dav","Sunday"),l10nStartPickerLabel:u=>E(D)("dav","Pick a start time for {dayName}",{dayName:u}),l10nEndPickerLabel:u=>E(D)("dav","Pick a end time for {dayName}",{dayName:u})},null,8,["slots","loading","l10nTo","l10nDeleteSlot","l10nEmptyDay","l10nAddSlot","l10nWeekDayListLabel","l10nMonday","l10nTuesday","l10nWednesday","l10nThursday","l10nFriday","l10nSaturday","l10nSunday","l10nStartPickerLabel","l10nEndPickerLabel"]),v(E(Ne),{modelValue:i.value,"onUpdate:modelValue":l[1]||(l[1]=u=>i.value=u)},{default:et(()=>[Yt(tt(E(D)("dav",'Automatically set user status to "Do not disturb" outside of availability to mute all notifications.')),1)]),_:1},8,["modelValue"]),v(E(Ht),{disabled:e.value||s.value,variant:"primary",onClick:o},{default:et(()=>[Yt(tt(E(D)("dav","Save")),1)]),_:1},8,["disabled"])]))}}),G0=de(F0,[["__scopeId","data-v-3ad7b763"]]),K0=ue({__name:"UserAvailability",setup(a){const t=Vt("dav","hide_absence_settings",!0);return(e,s)=>(B(),W("div",null,[v(E(Gt),{id:"availability",name:E(D)("dav","Availability"),description:E(D)("dav","If you configure your working hours, other people will see when you are out of office when they book a meeting.")},{default:et(()=>[v(G0)]),_:1},8,["name","description"]),E(t)?le("",!0):(B(),Bt(E(Gt),{key:0,id:"absence",name:E(D)("dav","Absence"),description:E(D)("dav","Configure your next absence period.")},{default:et(()=>[v(He)]),_:1},8,["name","description"]))]))}}),q0=Ae(K0);q0.mount("#settings-personal-availability");
|
|
//# sourceMappingURL=dav-settings-personal-availability.mjs.map
|