Last active
May 6, 2025 20:18
-
-
Save isaacs/5ff7914408cd67ebe05cf1674f0e6b65 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2025,03-20T09:00Z,06-21T02:47Z,09-22T18:33Z,12-21T15:10Z,01-03T11:10Z,07-05T02:05Z | |
2026,03-20T14:49Z,06-21T08:35Z,09-23T00:22Z,12-21T20:59Z,01-03T17:24Z,07-05T08:19Z | |
2027,03-20T20:38Z,06-21T14:23Z,09-23T06:11Z,12-22T02:49Z,01-03T23:38Z,07-05T14:32Z | |
2028,03-20T02:28Z,06-20T20:11Z,09-22T11:59Z,12-21T08:39Z,01-04T05:52Z,07-04T20:46Z | |
2029,03-20T08:17Z,06-21T01:59Z,09-22T17:48Z,12-21T14:29Z,01-03T12:06Z,07-05T03:00Z | |
2030,03-20T14:06Z,06-21T07:48Z,09-22T23:37Z,12-21T20:18Z,01-03T18:20Z,07-05T09:14Z | |
2031,03-20T19:55Z,06-21T13:36Z,09-23T05:26Z,12-22T02:08Z,01-04T00:34Z,07-05T15:28Z | |
2032,03-20T01:44Z,06-20T19:24Z,09-22T11:14Z,12-21T07:58Z,01-04T06:48Z,07-04T21:42Z | |
2033,03-20T07:34Z,06-21T01:12Z,09-22T17:03Z,12-21T13:48Z,01-03T13:02Z,07-05T03:56Z | |
2034,03-20T13:23Z,06-21T07:00Z,09-22T22:52Z,12-21T19:37Z,01-03T19:16Z,07-05T10:10Z | |
2035,03-20T19:12Z,06-21T12:48Z,09-23T04:40Z,12-22T01:27Z,01-04T01:30Z,07-05T16:24Z | |
2036,03-20T01:01Z,06-20T18:36Z,09-22T10:29Z,12-21T07:17Z,01-04T07:44Z,07-04T22:38Z | |
2037,03-20T06:50Z,06-21T00:24Z,09-22T16:18Z,12-21T13:06Z,01-03T13:58Z,07-05T04:52Z | |
2038,03-20T12:40Z,06-21T06:13Z,09-22T22:06Z,12-21T18:56Z,01-03T20:11Z,07-05T11:06Z | |
2039,03-20T18:29Z,06-21T12:01Z,09-23T03:55Z,12-22T00:46Z,01-04T02:25Z,07-05T17:20Z | |
2040,03-20T00:18Z,06-20T17:49Z,09-22T09:44Z,12-21T06:36Z,01-04T08:39Z,07-04T23:34Z | |
2041,03-20T06:07Z,06-20T23:37Z,09-22T15:32Z,12-21T12:25Z,01-03T14:53Z,07-05T05:48Z | |
2042,03-20T11:56Z,06-21T05:25Z,09-22T21:21Z,12-21T18:15Z,01-03T21:07Z,07-05T12:02Z | |
2043,03-20T17:46Z,06-21T11:13Z,09-23T03:10Z,12-22T00:05Z,01-04T03:21Z,07-05T18:16Z | |
2044,03-19T23:35Z,06-20T17:01Z,09-22T08:58Z,12-21T05:54Z,01-04T09:35Z,07-05T00:30Z | |
2045,03-20T05:24Z,06-20T22:49Z,09-22T14:47Z,12-21T11:44Z,01-03T15:49Z,07-05T06:44Z | |
2046,03-20T11:13Z,06-21T04:37Z,09-22T20:36Z,12-21T17:34Z,01-03T22:03Z,07-05T12:58Z | |
2047,03-20T17:02Z,06-21T10:26Z,09-23T02:24Z,12-21T23:24Z,01-04T04:17Z,07-05T19:12Z | |
2048,03-19T22:52Z,06-20T16:14Z,09-22T08:13Z,12-21T05:13Z,01-04T10:31Z,07-05T01:26Z | |
2049,03-20T04:41Z,06-20T22:02Z,09-22T14:02Z,12-21T11:03Z,01-03T16:45Z,07-05T07:40Z | |
2050,03-20T10:30Z,06-21T03:50Z,09-22T19:50Z,12-21T16:53Z,01-03T22:59Z,07-05T13:54Z | |
2051,03-20T16:19Z,06-21T09:38Z,09-23T01:39Z,12-21T22:42Z,01-04T05:13Z,07-05T20:08Z | |
2052,03-19T22:08Z,06-20T15:26Z,09-22T07:28Z,12-21T04:32Z,01-04T11:27Z,07-05T02:22Z | |
2053,03-20T03:58Z,06-20T21:14Z,09-22T13:16Z,12-21T10:22Z,01-03T17:41Z,07-05T08:35Z | |
2054,03-20T09:47Z,06-21T03:02Z,09-22T19:05Z,12-21T16:12Z,01-03T23:55Z,07-05T14:49Z | |
2055,03-20T15:36Z,06-21T08:51Z,09-23T00:54Z,12-21T22:01Z,01-04T06:09Z,07-05T21:03Z | |
2056,03-19T21:25Z,06-20T14:39Z,09-22T06:42Z,12-21T03:51Z,01-04T12:23Z,07-05T03:17Z | |
2057,03-20T03:14Z,06-20T20:27Z,09-22T12:31Z,12-21T09:41Z,01-03T18:37Z,07-05T09:31Z | |
2058,03-20T09:04Z,06-21T02:15Z,09-22T18:20Z,12-21T15:30Z,01-04T00:51Z,07-05T15:45Z | |
2059,03-20T14:53Z,06-21T08:03Z,09-23T00:08Z,12-21T21:20Z,01-04T07:05Z,07-05T21:59Z | |
2060,03-19T20:42Z,06-20T13:51Z,09-22T05:57Z,12-21T03:10Z,01-04T13:19Z,07-05T04:13Z | |
2061,03-20T02:31Z,06-20T19:39Z,09-22T11:46Z,12-21T09:00Z,01-03T19:33Z,07-05T10:27Z | |
2062,03-20T08:20Z,06-21T01:27Z,09-22T17:34Z,12-21T14:49Z,01-04T01:47Z,07-05T16:41Z | |
2063,03-20T14:10Z,06-21T07:16Z,09-22T23:23Z,12-21T20:39Z,01-04T08:01Z,07-05T22:55Z | |
2064,03-19T19:59Z,06-20T13:04Z,09-22T05:12Z,12-21T02:29Z,01-04T14:14Z,07-05T05:09Z | |
2065,03-20T01:48Z,06-20T18:52Z,09-22T11:00Z,12-21T08:18Z,01-03T20:28Z,07-05T11:23Z | |
2066,03-20T07:37Z,06-21T00:40Z,09-22T16:49Z,12-21T14:08Z,01-04T02:42Z,07-05T17:37Z | |
2067,03-20T13:26Z,06-21T06:28Z,09-22T22:38Z,12-21T19:58Z,01-04T08:56Z,07-05T23:51Z | |
2068,03-19T19:16Z,06-20T12:16Z,09-22T04:26Z,12-21T01:47Z,01-04T15:10Z,07-05T06:05Z | |
2069,03-20T01:05Z,06-20T18:04Z,09-22T10:15Z,12-21T07:37Z,01-03T21:24Z,07-05T12:19Z | |
2070,03-20T06:54Z,06-20T23:52Z,09-22T16:04Z,12-21T13:27Z,01-04T03:38Z,07-05T18:33Z | |
2071,03-20T12:43Z,06-21T05:41Z,09-22T21:52Z,12-21T19:17Z,01-04T09:52Z,07-06T00:47Z | |
2072,03-19T18:32Z,06-20T11:29Z,09-22T03:41Z,12-21T01:06Z,01-04T16:06Z,07-05T07:01Z | |
2073,03-20T00:22Z,06-20T17:17Z,09-22T09:30Z,12-21T06:56Z,01-03T22:20Z,07-05T13:15Z | |
2074,03-20T06:11Z,06-20T23:05Z,09-22T15:18Z,12-21T12:46Z,01-04T04:34Z,07-05T19:29Z | |
2075,03-20T12:00Z,06-21T04:53Z,09-22T21:07Z,12-21T18:35Z,01-04T10:48Z,07-06T01:43Z |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { | |
createEvents, | |
type EventAttributes, | |
type HeaderAttributes, | |
} from 'ics' | |
import { readFileSync } from 'node:fs' | |
import { dirname, resolve } from 'node:path' | |
import { fileURLToPath } from 'node:url' | |
const lines = readFileSync( | |
resolve(dirname(fileURLToPath(import.meta.url)), 'giss.txt'), | |
'utf8', | |
) | |
.trim() | |
.split('\n') | |
type Partial = { | |
spring: Date | |
summer: Date | |
autumn: Date | |
winter: Date | |
perihelion: Date | |
aphelion: Date | |
} | |
type Full = Partial & { | |
imbolc: Date | |
beltane: Date | |
lugnasadh: Date | |
samhain: Date | |
} | |
const years: Record<string, Full> = {} | |
const winter2024 = new Date('2024-12-21T09:22:00.000Z') | |
const halfStep = (from: Date, to: Date): Date => | |
new Date(Number(from) + (Number(to) - Number(from)) / 2) | |
for (const line of lines) { | |
const [y, ...cols] = line.split(',') as [ | |
string, | |
string, | |
string, | |
string, | |
string, | |
string, | |
string, | |
] | |
const year = Number(y) | |
const prev = years[String(year - 1)] | |
const p: Partial = { | |
spring: new Date(`${year}-${cols[0]}`), | |
summer: new Date(`${year}-${cols[1]}`), | |
autumn: new Date(`${year}-${cols[2]}`), | |
winter: new Date(`${year}-${cols[3]}`), | |
perihelion: new Date(`${year}-${cols[4]}`), | |
aphelion: new Date(`${year}-${cols[5]}`), | |
} | |
years[y] = { | |
perihelion: p.perihelion, | |
imbolc: halfStep(prev?.winter ?? winter2024, p.spring), | |
spring: p.spring, | |
beltane: halfStep(p.spring, p.summer), | |
summer: p.summer, | |
aphelion: p.aphelion, | |
lugnasadh: halfStep(p.summer, p.autumn), | |
autumn: p.autumn, | |
samhain: halfStep(p.autumn, p.winter), | |
winter: p.winter, | |
} | |
} | |
console.error(years) | |
const headers: HeaderAttributes = { | |
productId: 'isaacs-solar-events-calculator', | |
method: 'PUBLISH', | |
calName: 'Solar Events Calendar', | |
} | |
const eventList: EventAttributes[] = [] | |
for (const [year, events] of Object.entries(years)) { | |
for (const [name, date] of Object.entries(events) as [ | |
keyof Full, | |
Date, | |
][]) { | |
eventList.push({ | |
...headers, | |
start: [date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate()], | |
startInputType: 'utc', | |
startOutputType: 'utc', | |
endInputType: 'utc', | |
title: name, | |
description: `${year} ${name.charAt(0).toUpperCase() + name.substring(1)}\n${date.toISOString()}`, | |
uid: `${year}-${name}-${date.getTime()}`, | |
duration: { days: 1 }, | |
}) | |
eventList.push({ | |
...headers, | |
start: date.getTime(), | |
startInputType: 'utc', | |
startOutputType: 'utc', | |
endInputType: 'utc', | |
title: name, | |
description: `${year} ${name.charAt(0).toUpperCase() + name.substring(1)}\n${date.toISOString()}`, | |
uid: `${year}-${name}-${date.getTime()}-actual`, | |
duration: { hours: 1 }, | |
}) | |
} | |
} | |
const { error, value } = createEvents(eventList, headers) | |
if (error) throw error | |
console.log(value) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BEGIN:VCALENDAR | |
VERSION:2.0 | |
CALSCALE:GREGORIAN | |
PRODID:isaacs-solar-events-calculator | |
METHOD:PUBLISH | |
X-WR-CALNAME:Solar Events Calendar | |
X-PUBLISHED-TTL:PT1H | |
BEGIN:VEVENT | |
UID:2025-perihelion-1735902600000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20250103 | |
DESCRIPTION:2025 Perihelion\n2025-01-03T11:10:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-perihelion-1735902600000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20250103T111000Z | |
DESCRIPTION:2025 Perihelion\n2025-01-03T11:10:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-imbolc-1738617060000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20250203 | |
DESCRIPTION:2025 Imbolc\n2025-02-03T21:11:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-imbolc-1738617060000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20250203T211100Z | |
DESCRIPTION:2025 Imbolc\n2025-02-03T21:11:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-spring-1742461200000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20250320 | |
DESCRIPTION:2025 Spring\n2025-03-20T09:00:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-spring-1742461200000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20250320T090000Z | |
DESCRIPTION:2025 Spring\n2025-03-20T09:00:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-beltane-1746467610000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20250505 | |
DESCRIPTION:2025 Beltane\n2025-05-05T17:53:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-beltane-1746467610000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20250505T175330Z | |
DESCRIPTION:2025 Beltane\n2025-05-05T17:53:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-summer-1750474020000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20250621 | |
DESCRIPTION:2025 Summer\n2025-06-21T02:47:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-summer-1750474020000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20250621T024700Z | |
DESCRIPTION:2025 Summer\n2025-06-21T02:47:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-aphelion-1751681100000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20250705 | |
DESCRIPTION:2025 Aphelion\n2025-07-05T02:05:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-aphelion-1751681100000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20250705T020500Z | |
DESCRIPTION:2025 Aphelion\n2025-07-05T02:05:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-lugnasadh-1754520000000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20250806 | |
DESCRIPTION:2025 Lugnasadh\n2025-08-06T22:40:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-lugnasadh-1754520000000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20250806T224000Z | |
DESCRIPTION:2025 Lugnasadh\n2025-08-06T22:40:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-autumn-1758565980000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20250922 | |
DESCRIPTION:2025 Autumn\n2025-09-22T18:33:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-autumn-1758565980000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20250922T183300Z | |
DESCRIPTION:2025 Autumn\n2025-09-22T18:33:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-samhain-1762447890000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20251106 | |
DESCRIPTION:2025 Samhain\n2025-11-06T16:51:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-samhain-1762447890000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20251106T165130Z | |
DESCRIPTION:2025 Samhain\n2025-11-06T16:51:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-winter-1766329800000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20251221 | |
DESCRIPTION:2025 Winter\n2025-12-21T15:10:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2025-winter-1766329800000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20251221T151000Z | |
DESCRIPTION:2025 Winter\n2025-12-21T15:10:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-perihelion-1767461040000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20260103 | |
DESCRIPTION:2026 Perihelion\n2026-01-03T17:24:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-perihelion-1767461040000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20260103T172400Z | |
DESCRIPTION:2026 Perihelion\n2026-01-03T17:24:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-imbolc-1770173970000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20260204 | |
DESCRIPTION:2026 Imbolc\n2026-02-04T02:59:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-imbolc-1770173970000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20260204T025930Z | |
DESCRIPTION:2026 Imbolc\n2026-02-04T02:59:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-spring-1774018140000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20260320 | |
DESCRIPTION:2026 Spring\n2026-03-20T14:49:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-spring-1774018140000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20260320T144900Z | |
DESCRIPTION:2026 Spring\n2026-03-20T14:49:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-beltane-1778024520000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20260505 | |
DESCRIPTION:2026 Beltane\n2026-05-05T23:42:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-beltane-1778024520000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20260505T234200Z | |
DESCRIPTION:2026 Beltane\n2026-05-05T23:42:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-summer-1782030900000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20260621 | |
DESCRIPTION:2026 Summer\n2026-06-21T08:35:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-summer-1782030900000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20260621T083500Z | |
DESCRIPTION:2026 Summer\n2026-06-21T08:35:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-aphelion-1783239540000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20260705 | |
DESCRIPTION:2026 Aphelion\n2026-07-05T08:19:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-aphelion-1783239540000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20260705T081900Z | |
DESCRIPTION:2026 Aphelion\n2026-07-05T08:19:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-lugnasadh-1786076910000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20260807 | |
DESCRIPTION:2026 Lugnasadh\n2026-08-07T04:28:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-lugnasadh-1786076910000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20260807T042830Z | |
DESCRIPTION:2026 Lugnasadh\n2026-08-07T04:28:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-autumn-1790122920000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20260923 | |
DESCRIPTION:2026 Autumn\n2026-09-23T00:22:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-autumn-1790122920000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20260923T002200Z | |
DESCRIPTION:2026 Autumn\n2026-09-23T00:22:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-samhain-1794004830000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20261106 | |
DESCRIPTION:2026 Samhain\n2026-11-06T22:40:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-samhain-1794004830000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20261106T224030Z | |
DESCRIPTION:2026 Samhain\n2026-11-06T22:40:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-winter-1797886740000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20261221 | |
DESCRIPTION:2026 Winter\n2026-12-21T20:59:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2026-winter-1797886740000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20261221T205900Z | |
DESCRIPTION:2026 Winter\n2026-12-21T20:59:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-perihelion-1799019480000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20270103 | |
DESCRIPTION:2027 Perihelion\n2027-01-03T23:38:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-perihelion-1799019480000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20270103T233800Z | |
DESCRIPTION:2027 Perihelion\n2027-01-03T23:38:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-imbolc-1801730910000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20270204 | |
DESCRIPTION:2027 Imbolc\n2027-02-04T08:48:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-imbolc-1801730910000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20270204T084830Z | |
DESCRIPTION:2027 Imbolc\n2027-02-04T08:48:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-spring-1805575080000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20270320 | |
DESCRIPTION:2027 Spring\n2027-03-20T20:38:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-spring-1805575080000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20270320T203800Z | |
DESCRIPTION:2027 Spring\n2027-03-20T20:38:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-beltane-1809581430000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20270506 | |
DESCRIPTION:2027 Beltane\n2027-05-06T05:30:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-beltane-1809581430000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20270506T053030Z | |
DESCRIPTION:2027 Beltane\n2027-05-06T05:30:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-summer-1813587780000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20270621 | |
DESCRIPTION:2027 Summer\n2027-06-21T14:23:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-summer-1813587780000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20270621T142300Z | |
DESCRIPTION:2027 Summer\n2027-06-21T14:23:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-aphelion-1814797920000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20270705 | |
DESCRIPTION:2027 Aphelion\n2027-07-05T14:32:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-aphelion-1814797920000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20270705T143200Z | |
DESCRIPTION:2027 Aphelion\n2027-07-05T14:32:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-lugnasadh-1817633820000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20270807 | |
DESCRIPTION:2027 Lugnasadh\n2027-08-07T10:17:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-lugnasadh-1817633820000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20270807T101700Z | |
DESCRIPTION:2027 Lugnasadh\n2027-08-07T10:17:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-autumn-1821679860000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20270923 | |
DESCRIPTION:2027 Autumn\n2027-09-23T06:11:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-autumn-1821679860000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20270923T061100Z | |
DESCRIPTION:2027 Autumn\n2027-09-23T06:11:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-samhain-1825561800000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20271107 | |
DESCRIPTION:2027 Samhain\n2027-11-07T04:30:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-samhain-1825561800000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20271107T043000Z | |
DESCRIPTION:2027 Samhain\n2027-11-07T04:30:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-winter-1829443740000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20271222 | |
DESCRIPTION:2027 Winter\n2027-12-22T02:49:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2027-winter-1829443740000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20271222T024900Z | |
DESCRIPTION:2027 Winter\n2027-12-22T02:49:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-perihelion-1830577920000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20280104 | |
DESCRIPTION:2028 Perihelion\n2028-01-04T05:52:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-perihelion-1830577920000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20280104T055200Z | |
DESCRIPTION:2028 Perihelion\n2028-01-04T05:52:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-imbolc-1833287910000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20280204 | |
DESCRIPTION:2028 Imbolc\n2028-02-04T14:38:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-imbolc-1833287910000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20280204T143830Z | |
DESCRIPTION:2028 Imbolc\n2028-02-04T14:38:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-spring-1837132080000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20280320 | |
DESCRIPTION:2028 Spring\n2028-03-20T02:28:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-spring-1837132080000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20280320T022800Z | |
DESCRIPTION:2028 Spring\n2028-03-20T02:28:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-beltane-1841138370000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20280505 | |
DESCRIPTION:2028 Beltane\n2028-05-05T11:19:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-beltane-1841138370000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20280505T111930Z | |
DESCRIPTION:2028 Beltane\n2028-05-05T11:19:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-summer-1845144660000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20280620 | |
DESCRIPTION:2028 Summer\n2028-06-20T20:11:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-summer-1845144660000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20280620T201100Z | |
DESCRIPTION:2028 Summer\n2028-06-20T20:11:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-aphelion-1846356360000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20280704 | |
DESCRIPTION:2028 Aphelion\n2028-07-04T20:46:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-aphelion-1846356360000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20280704T204600Z | |
DESCRIPTION:2028 Aphelion\n2028-07-04T20:46:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-lugnasadh-1849190700000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20280806 | |
DESCRIPTION:2028 Lugnasadh\n2028-08-06T16:05:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-lugnasadh-1849190700000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20280806T160500Z | |
DESCRIPTION:2028 Lugnasadh\n2028-08-06T16:05:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-autumn-1853236740000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20280922 | |
DESCRIPTION:2028 Autumn\n2028-09-22T11:59:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-autumn-1853236740000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20280922T115900Z | |
DESCRIPTION:2028 Autumn\n2028-09-22T11:59:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-samhain-1857118740000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20281106 | |
DESCRIPTION:2028 Samhain\n2028-11-06T10:19:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-samhain-1857118740000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20281106T101900Z | |
DESCRIPTION:2028 Samhain\n2028-11-06T10:19:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-winter-1861000740000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20281221 | |
DESCRIPTION:2028 Winter\n2028-12-21T08:39:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2028-winter-1861000740000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20281221T083900Z | |
DESCRIPTION:2028 Winter\n2028-12-21T08:39:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-perihelion-1862136360000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20290103 | |
DESCRIPTION:2029 Perihelion\n2029-01-03T12:06:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-perihelion-1862136360000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20290103T120600Z | |
DESCRIPTION:2029 Perihelion\n2029-01-03T12:06:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-imbolc-1864844880000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20290203 | |
DESCRIPTION:2029 Imbolc\n2029-02-03T20:28:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-imbolc-1864844880000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20290203T202800Z | |
DESCRIPTION:2029 Imbolc\n2029-02-03T20:28:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-spring-1868689020000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20290320 | |
DESCRIPTION:2029 Spring\n2029-03-20T08:17:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-spring-1868689020000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20290320T081700Z | |
DESCRIPTION:2029 Spring\n2029-03-20T08:17:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-beltane-1872695280000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20290505 | |
DESCRIPTION:2029 Beltane\n2029-05-05T17:08:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-beltane-1872695280000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20290505T170800Z | |
DESCRIPTION:2029 Beltane\n2029-05-05T17:08:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-summer-1876701540000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20290621 | |
DESCRIPTION:2029 Summer\n2029-06-21T01:59:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-summer-1876701540000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20290621T015900Z | |
DESCRIPTION:2029 Summer\n2029-06-21T01:59:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-aphelion-1877914800000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20290705 | |
DESCRIPTION:2029 Aphelion\n2029-07-05T03:00:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-aphelion-1877914800000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20290705T030000Z | |
DESCRIPTION:2029 Aphelion\n2029-07-05T03:00:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-lugnasadh-1880747610000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20290806 | |
DESCRIPTION:2029 Lugnasadh\n2029-08-06T21:53:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-lugnasadh-1880747610000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20290806T215330Z | |
DESCRIPTION:2029 Lugnasadh\n2029-08-06T21:53:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-autumn-1884793680000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20290922 | |
DESCRIPTION:2029 Autumn\n2029-09-22T17:48:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-autumn-1884793680000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20290922T174800Z | |
DESCRIPTION:2029 Autumn\n2029-09-22T17:48:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-samhain-1888675710000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20291106 | |
DESCRIPTION:2029 Samhain\n2029-11-06T16:08:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-samhain-1888675710000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20291106T160830Z | |
DESCRIPTION:2029 Samhain\n2029-11-06T16:08:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-winter-1892557740000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20291221 | |
DESCRIPTION:2029 Winter\n2029-12-21T14:29:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2029-winter-1892557740000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20291221T142900Z | |
DESCRIPTION:2029 Winter\n2029-12-21T14:29:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-perihelion-1893694800000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20300103 | |
DESCRIPTION:2030 Perihelion\n2030-01-03T18:20:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-perihelion-1893694800000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20300103T182000Z | |
DESCRIPTION:2030 Perihelion\n2030-01-03T18:20:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-imbolc-1896401850000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20300204 | |
DESCRIPTION:2030 Imbolc\n2030-02-04T02:17:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-imbolc-1896401850000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20300204T021730Z | |
DESCRIPTION:2030 Imbolc\n2030-02-04T02:17:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-spring-1900245960000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20300320 | |
DESCRIPTION:2030 Spring\n2030-03-20T14:06:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-spring-1900245960000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20300320T140600Z | |
DESCRIPTION:2030 Spring\n2030-03-20T14:06:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-beltane-1904252220000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20300505 | |
DESCRIPTION:2030 Beltane\n2030-05-05T22:57:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-beltane-1904252220000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20300505T225700Z | |
DESCRIPTION:2030 Beltane\n2030-05-05T22:57:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-summer-1908258480000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20300621 | |
DESCRIPTION:2030 Summer\n2030-06-21T07:48:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-summer-1908258480000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20300621T074800Z | |
DESCRIPTION:2030 Summer\n2030-06-21T07:48:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-aphelion-1909473240000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20300705 | |
DESCRIPTION:2030 Aphelion\n2030-07-05T09:14:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-aphelion-1909473240000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20300705T091400Z | |
DESCRIPTION:2030 Aphelion\n2030-07-05T09:14:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-lugnasadh-1912304550000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20300807 | |
DESCRIPTION:2030 Lugnasadh\n2030-08-07T03:42:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-lugnasadh-1912304550000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20300807T034230Z | |
DESCRIPTION:2030 Lugnasadh\n2030-08-07T03:42:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-autumn-1916350620000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20300922 | |
DESCRIPTION:2030 Autumn\n2030-09-22T23:37:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-autumn-1916350620000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20300922T233700Z | |
DESCRIPTION:2030 Autumn\n2030-09-22T23:37:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-samhain-1920232650000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20301106 | |
DESCRIPTION:2030 Samhain\n2030-11-06T21:57:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-samhain-1920232650000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20301106T215730Z | |
DESCRIPTION:2030 Samhain\n2030-11-06T21:57:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-winter-1924114680000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20301221 | |
DESCRIPTION:2030 Winter\n2030-12-21T20:18:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2030-winter-1924114680000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20301221T201800Z | |
DESCRIPTION:2030 Winter\n2030-12-21T20:18:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-perihelion-1925253240000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20310104 | |
DESCRIPTION:2031 Perihelion\n2031-01-04T00:34:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-perihelion-1925253240000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20310104T003400Z | |
DESCRIPTION:2031 Perihelion\n2031-01-04T00:34:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-imbolc-1927958790000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20310204 | |
DESCRIPTION:2031 Imbolc\n2031-02-04T08:06:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-imbolc-1927958790000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20310204T080630Z | |
DESCRIPTION:2031 Imbolc\n2031-02-04T08:06:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-spring-1931802900000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20310320 | |
DESCRIPTION:2031 Spring\n2031-03-20T19:55:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-spring-1931802900000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20310320T195500Z | |
DESCRIPTION:2031 Spring\n2031-03-20T19:55:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-beltane-1935809130000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20310506 | |
DESCRIPTION:2031 Beltane\n2031-05-06T04:45:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-beltane-1935809130000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20310506T044530Z | |
DESCRIPTION:2031 Beltane\n2031-05-06T04:45:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-summer-1939815360000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20310621 | |
DESCRIPTION:2031 Summer\n2031-06-21T13:36:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-summer-1939815360000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20310621T133600Z | |
DESCRIPTION:2031 Summer\n2031-06-21T13:36:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-aphelion-1941031680000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20310705 | |
DESCRIPTION:2031 Aphelion\n2031-07-05T15:28:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-aphelion-1941031680000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20310705T152800Z | |
DESCRIPTION:2031 Aphelion\n2031-07-05T15:28:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-lugnasadh-1943861460000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20310807 | |
DESCRIPTION:2031 Lugnasadh\n2031-08-07T09:31:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-lugnasadh-1943861460000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20310807T093100Z | |
DESCRIPTION:2031 Lugnasadh\n2031-08-07T09:31:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-autumn-1947907560000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20310923 | |
DESCRIPTION:2031 Autumn\n2031-09-23T05:26:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-autumn-1947907560000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20310923T052600Z | |
DESCRIPTION:2031 Autumn\n2031-09-23T05:26:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-samhain-1951789620000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20311107 | |
DESCRIPTION:2031 Samhain\n2031-11-07T03:47:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-samhain-1951789620000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20311107T034700Z | |
DESCRIPTION:2031 Samhain\n2031-11-07T03:47:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-winter-1955671680000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20311222 | |
DESCRIPTION:2031 Winter\n2031-12-22T02:08:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2031-winter-1955671680000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20311222T020800Z | |
DESCRIPTION:2031 Winter\n2031-12-22T02:08:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-perihelion-1956811680000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20320104 | |
DESCRIPTION:2032 Perihelion\n2032-01-04T06:48:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-perihelion-1956811680000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20320104T064800Z | |
DESCRIPTION:2032 Perihelion\n2032-01-04T06:48:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-imbolc-1959515760000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20320204 | |
DESCRIPTION:2032 Imbolc\n2032-02-04T13:56:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-imbolc-1959515760000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20320204T135600Z | |
DESCRIPTION:2032 Imbolc\n2032-02-04T13:56:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-spring-1963359840000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20320320 | |
DESCRIPTION:2032 Spring\n2032-03-20T01:44:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-spring-1963359840000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20320320T014400Z | |
DESCRIPTION:2032 Spring\n2032-03-20T01:44:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-beltane-1967366040000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20320505 | |
DESCRIPTION:2032 Beltane\n2032-05-05T10:34:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-beltane-1967366040000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20320505T103400Z | |
DESCRIPTION:2032 Beltane\n2032-05-05T10:34:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-summer-1971372240000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20320620 | |
DESCRIPTION:2032 Summer\n2032-06-20T19:24:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-summer-1971372240000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20320620T192400Z | |
DESCRIPTION:2032 Summer\n2032-06-20T19:24:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-aphelion-1972590120000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20320704 | |
DESCRIPTION:2032 Aphelion\n2032-07-04T21:42:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-aphelion-1972590120000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20320704T214200Z | |
DESCRIPTION:2032 Aphelion\n2032-07-04T21:42:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-lugnasadh-1975418340000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20320806 | |
DESCRIPTION:2032 Lugnasadh\n2032-08-06T15:19:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-lugnasadh-1975418340000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20320806T151900Z | |
DESCRIPTION:2032 Lugnasadh\n2032-08-06T15:19:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-autumn-1979464440000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20320922 | |
DESCRIPTION:2032 Autumn\n2032-09-22T11:14:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-autumn-1979464440000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20320922T111400Z | |
DESCRIPTION:2032 Autumn\n2032-09-22T11:14:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-samhain-1983346560000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20321106 | |
DESCRIPTION:2032 Samhain\n2032-11-06T09:36:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-samhain-1983346560000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20321106T093600Z | |
DESCRIPTION:2032 Samhain\n2032-11-06T09:36:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-winter-1987228680000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20321221 | |
DESCRIPTION:2032 Winter\n2032-12-21T07:58:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2032-winter-1987228680000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20321221T075800Z | |
DESCRIPTION:2032 Winter\n2032-12-21T07:58:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-perihelion-1988370120000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20330103 | |
DESCRIPTION:2033 Perihelion\n2033-01-03T13:02:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-perihelion-1988370120000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20330103T130200Z | |
DESCRIPTION:2033 Perihelion\n2033-01-03T13:02:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-imbolc-1991072760000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20330203 | |
DESCRIPTION:2033 Imbolc\n2033-02-03T19:46:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-imbolc-1991072760000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20330203T194600Z | |
DESCRIPTION:2033 Imbolc\n2033-02-03T19:46:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-spring-1994916840000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20330320 | |
DESCRIPTION:2033 Spring\n2033-03-20T07:34:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-spring-1994916840000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20330320T073400Z | |
DESCRIPTION:2033 Spring\n2033-03-20T07:34:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-beltane-1998922980000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20330505 | |
DESCRIPTION:2033 Beltane\n2033-05-05T16:23:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-beltane-1998922980000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20330505T162300Z | |
DESCRIPTION:2033 Beltane\n2033-05-05T16:23:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-summer-2002929120000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20330621 | |
DESCRIPTION:2033 Summer\n2033-06-21T01:12:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-summer-2002929120000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20330621T011200Z | |
DESCRIPTION:2033 Summer\n2033-06-21T01:12:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-aphelion-2004148560000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20330705 | |
DESCRIPTION:2033 Aphelion\n2033-07-05T03:56:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-aphelion-2004148560000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20330705T035600Z | |
DESCRIPTION:2033 Aphelion\n2033-07-05T03:56:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-lugnasadh-2006975250000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20330806 | |
DESCRIPTION:2033 Lugnasadh\n2033-08-06T21:07:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-lugnasadh-2006975250000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20330806T210730Z | |
DESCRIPTION:2033 Lugnasadh\n2033-08-06T21:07:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-autumn-2011021380000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20330922 | |
DESCRIPTION:2033 Autumn\n2033-09-22T17:03:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-autumn-2011021380000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20330922T170300Z | |
DESCRIPTION:2033 Autumn\n2033-09-22T17:03:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-samhain-2014903530000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20331106 | |
DESCRIPTION:2033 Samhain\n2033-11-06T15:25:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-samhain-2014903530000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20331106T152530Z | |
DESCRIPTION:2033 Samhain\n2033-11-06T15:25:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-winter-2018785680000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20331221 | |
DESCRIPTION:2033 Winter\n2033-12-21T13:48:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2033-winter-2018785680000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20331221T134800Z | |
DESCRIPTION:2033 Winter\n2033-12-21T13:48:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-perihelion-2019928560000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20340103 | |
DESCRIPTION:2034 Perihelion\n2034-01-03T19:16:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-perihelion-2019928560000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20340103T191600Z | |
DESCRIPTION:2034 Perihelion\n2034-01-03T19:16:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-imbolc-2022629730000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20340204 | |
DESCRIPTION:2034 Imbolc\n2034-02-04T01:35:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-imbolc-2022629730000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20340204T013530Z | |
DESCRIPTION:2034 Imbolc\n2034-02-04T01:35:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-spring-2026473780000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20340320 | |
DESCRIPTION:2034 Spring\n2034-03-20T13:23:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-spring-2026473780000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20340320T132300Z | |
DESCRIPTION:2034 Spring\n2034-03-20T13:23:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-beltane-2030479890000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20340505 | |
DESCRIPTION:2034 Beltane\n2034-05-05T22:11:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-beltane-2030479890000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20340505T221130Z | |
DESCRIPTION:2034 Beltane\n2034-05-05T22:11:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-summer-2034486000000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20340621 | |
DESCRIPTION:2034 Summer\n2034-06-21T07:00:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-summer-2034486000000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20340621T070000Z | |
DESCRIPTION:2034 Summer\n2034-06-21T07:00:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-aphelion-2035707000000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20340705 | |
DESCRIPTION:2034 Aphelion\n2034-07-05T10:10:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-aphelion-2035707000000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20340705T101000Z | |
DESCRIPTION:2034 Aphelion\n2034-07-05T10:10:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-lugnasadh-2038532160000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20340807 | |
DESCRIPTION:2034 Lugnasadh\n2034-08-07T02:56:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-lugnasadh-2038532160000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20340807T025600Z | |
DESCRIPTION:2034 Lugnasadh\n2034-08-07T02:56:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-autumn-2042578320000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20340922 | |
DESCRIPTION:2034 Autumn\n2034-09-22T22:52:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-autumn-2042578320000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20340922T225200Z | |
DESCRIPTION:2034 Autumn\n2034-09-22T22:52:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-samhain-2046460470000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20341106 | |
DESCRIPTION:2034 Samhain\n2034-11-06T21:14:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-samhain-2046460470000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20341106T211430Z | |
DESCRIPTION:2034 Samhain\n2034-11-06T21:14:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-winter-2050342620000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20341221 | |
DESCRIPTION:2034 Winter\n2034-12-21T19:37:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2034-winter-2050342620000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20341221T193700Z | |
DESCRIPTION:2034 Winter\n2034-12-21T19:37:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-perihelion-2051487000000 | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20350104 | |
DESCRIPTION:2035 Perihelion\n2035-01-04T01:30:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-perihelion-2051487000000-actual | |
SUMMARY:perihelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20350104T013000Z | |
DESCRIPTION:2035 Perihelion\n2035-01-04T01:30:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-imbolc-2054186670000 | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20350204 | |
DESCRIPTION:2035 Imbolc\n2035-02-04T07:24:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-imbolc-2054186670000-actual | |
SUMMARY:imbolc | |
DTSTAMP:20250506T201242Z | |
DTSTART:20350204T072430Z | |
DESCRIPTION:2035 Imbolc\n2035-02-04T07:24:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-spring-2058030720000 | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20350320 | |
DESCRIPTION:2035 Spring\n2035-03-20T19:12:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-spring-2058030720000-actual | |
SUMMARY:spring | |
DTSTAMP:20250506T201242Z | |
DTSTART:20350320T191200Z | |
DESCRIPTION:2035 Spring\n2035-03-20T19:12:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-beltane-2062036800000 | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20350506 | |
DESCRIPTION:2035 Beltane\n2035-05-06T04:00:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-beltane-2062036800000-actual | |
SUMMARY:beltane | |
DTSTAMP:20250506T201242Z | |
DTSTART:20350506T040000Z | |
DESCRIPTION:2035 Beltane\n2035-05-06T04:00:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-summer-2066042880000 | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20350621 | |
DESCRIPTION:2035 Summer\n2035-06-21T12:48:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-summer-2066042880000-actual | |
SUMMARY:summer | |
DTSTAMP:20250506T201242Z | |
DTSTART:20350621T124800Z | |
DESCRIPTION:2035 Summer\n2035-06-21T12:48:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-aphelion-2067265440000 | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20350705 | |
DESCRIPTION:2035 Aphelion\n2035-07-05T16:24:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-aphelion-2067265440000-actual | |
SUMMARY:aphelion | |
DTSTAMP:20250506T201242Z | |
DTSTART:20350705T162400Z | |
DESCRIPTION:2035 Aphelion\n2035-07-05T16:24:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-lugnasadh-2070089040000 | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20350807 | |
DESCRIPTION:2035 Lugnasadh\n2035-08-07T08:44:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-lugnasadh-2070089040000-actual | |
SUMMARY:lugnasadh | |
DTSTAMP:20250506T201242Z | |
DTSTART:20350807T084400Z | |
DESCRIPTION:2035 Lugnasadh\n2035-08-07T08:44:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-autumn-2074135200000 | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20350923 | |
DESCRIPTION:2035 Autumn\n2035-09-23T04:40:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-autumn-2074135200000-actual | |
SUMMARY:autumn | |
DTSTAMP:20250506T201242Z | |
DTSTART:20350923T044000Z | |
DESCRIPTION:2035 Autumn\n2035-09-23T04:40:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-samhain-2078017410000 | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20351107 | |
DESCRIPTION:2035 Samhain\n2035-11-07T03:03:30.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-samhain-2078017410000-actual | |
SUMMARY:samhain | |
DTSTAMP:20250506T201242Z | |
DTSTART:20351107T030330Z | |
DESCRIPTION:2035 Samhain\n2035-11-07T03:03:30.000Z | |
DURATION:PT1H | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-winter-2081899620000 | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART;VALUE=DATE:20351222 | |
DESCRIPTION:2035 Winter\n2035-12-22T01:27:00.000Z | |
DURATION:P1DT | |
END:VEVENT | |
BEGIN:VEVENT | |
UID:2035-winter-2081899620000-actual | |
SUMMARY:winter | |
DTSTAMP:20250506T201242Z | |
DTSTART:20351222T012700Z | |
DESCRIPTION:2035 Winter\n2035-12-22T01:27:00.000Z | |
DURATION:PT1H | |
END:VEVENT | |
END:VCALENDAR |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment