Compare commits
65 Commits
timezonete
...
master
Author | SHA1 | Date |
---|---|---|
Ryan Mwangi | 869beeb3d4 | |
Ryan Mwangi | 18215a89f6 | |
Ryan Mwangi | 577faabc3b | |
Ryan Mwangi | 92c6fffe64 | |
Ryan Mwangi | 51c4f5c31f | |
Ryan Mwangi | 5ec6341680 | |
Ryan Mwangi | d6022eeb62 | |
Ryan Mwangi | 5ec42d07bb | |
xeruf | ff595a9f70 | |
xeruf | 1706b9cad3 | |
xeruf | 2bd5c967af | |
xeruf | c8f3771717 | |
Ryan Mwangi | 5b40bf5d75 | |
Ryan Mwangi | 227ec8a211 | |
Ryan Mwangi | 5769c9ce5b | |
Ryan Mwangi | 6a428c55e0 | |
Ryan Mwangi | 56e5f69cbb | |
Ryan Mwangi | e45c433797 | |
Ryan Mwangi | c4c723d60a | |
Ryan Mwangi | 29208d8b4d | |
Ryan Mwangi | c1c6ae47de | |
Ryan Mwangi | 174a845c78 | |
Ryan Mwangi | ad3ec6f7a6 | |
Ryan Mwangi | fab6753c5a | |
Ryan Mwangi | 379a79617b | |
Ryan Mwangi | d15d0be707 | |
Ryan Mwangi | 5e3e8eab5b | |
Ryan Mwangi | 2283b82ba7 | |
Ryan Mwangi | 2f3b791e5d | |
Ryan Mwangi | ac26afe778 | |
Ryan Mwangi | e5e9dbb680 | |
Ryan Mwangi | 8881361a1f | |
Ryan Mwangi | 8965eaa319 | |
Ryan Mwangi | ca52065f66 | |
Ryan Mwangi | 8ab685dec0 | |
Ryan Mwangi | 585b83b03c | |
Ryan Mwangi | 73e46d7f99 | |
Ryan Mwangi | d2b0234b4b | |
Ryan Mwangi | 2b7002303c | |
Ryan Mwangi | 6cf5b8420e | |
Ryan Mwangi | ddcfedbbdf | |
xeruf | bed3e47f8e | |
xeruf | 1f19d8cf1f | |
xeruf | 77e6963118 | |
Ryan Mwangi | 782e62d56d | |
Ryan Mwangi | 9468e58132 | |
Ryan Mwangi | d4498cd0d8 | |
Ryan Mwangi | 3edc551031 | |
Ryan Mwangi | 859d3f3db5 | |
xeruf | 00e152f08c | |
xeruf | 864a3739b3 | |
Ryan Mwangi | 495fb57675 | |
Ryan Mwangi | ff32bb430d | |
Ryan Mwangi | 9a0a62675c | |
xeruf | 0a863a4eb2 | |
Ryan Mwangi | a94727df56 | |
Ryan Mwangi | 7e2b846029 | |
Ryan Mwangi | cbdfdf6c97 | |
Ryan Mwangi | 2e9de0749d | |
Ryan Mwangi | d08d87f47c | |
Ryan Mwangi | 0114c94caa | |
Ryan Mwangi | e8582cd411 | |
Ryan Mwangi | 665c134597 | |
ryanmwangi | 0b0ecaa0c2 | |
xeruf | 4032e2c49d |
|
@ -0,0 +1,8 @@
|
||||||
|
node_modules
|
||||||
|
npm-debug.log
|
||||||
|
.DS_Store
|
||||||
|
tests
|
||||||
|
*.test.js
|
||||||
|
*.log
|
||||||
|
.git
|
||||||
|
.env
|
|
@ -0,0 +1,2 @@
|
||||||
|
* text=auto eol=lf
|
||||||
|
*.ics text eol=crlf
|
|
@ -1,3 +1,4 @@
|
||||||
node_modules/
|
node_modules/
|
||||||
test/calendar/
|
test/calendar/
|
||||||
calendar/
|
calendar/
|
||||||
|
logs/
|
44
README.md
44
README.md
|
@ -39,6 +39,50 @@ The application also generates a unique URL for the merged calendar and updates
|
||||||
```bash
|
```bash
|
||||||
npm start
|
npm start
|
||||||
```
|
```
|
||||||
|
## Building and Running with Docker
|
||||||
|
|
||||||
|
### 1. Build the Docker Image
|
||||||
|
|
||||||
|
Run the following command to build the Docker image:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build -t calmerger-app .
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Run the Docker Container
|
||||||
|
|
||||||
|
To start the container, use:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d --name calmerger -p 3000:3000 calmerger-app
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
This maps the container's port `3000` to the host system's port `3000`. The application will be accessible at [http://localhost:3000](http://localhost:3000).
|
||||||
|
|
||||||
|
### 3. Using Docker Compose (Optional)
|
||||||
|
|
||||||
|
If you prefer to use Docker Compose, ensure you have a `docker-compose.yml` file in your project directory. Then, run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
This will automatically build and start the container based on the configuration in the `docker-compose.yml` file.
|
||||||
|
|
||||||
|
### 4. Stopping the Docker Container
|
||||||
|
|
||||||
|
To stop the running container, use:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker stop calmerger
|
||||||
|
```
|
||||||
|
|
||||||
|
To remove the container:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker rm calmerger
|
||||||
|
```
|
||||||
|
|
||||||
## Running Tests
|
## Running Tests
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Use an official Node.js runtime as a parent image
|
||||||
|
FROM node:18-alpine
|
||||||
|
|
||||||
|
# Set working directory inside the container
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
# Copy package.json and package-lock.json for installing dependencies
|
||||||
|
COPY package*.json ./
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
RUN npm install --production
|
||||||
|
|
||||||
|
# Copy the rest of the project files
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Expose the port your application runs on (if applicable)
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
# Command to run the application
|
||||||
|
CMD ["node", "src/app.js"]
|
|
@ -0,0 +1,7 @@
|
||||||
|
export default {
|
||||||
|
transform: {
|
||||||
|
'^.+\\.jsx?$': 'babel-jest',
|
||||||
|
},
|
||||||
|
moduleFileExtensions: ['js', 'jsx'],
|
||||||
|
testEnvironment: 'node',
|
||||||
|
};
|
|
@ -12,15 +12,17 @@
|
||||||
"axios": "^1.7.7",
|
"axios": "^1.7.7",
|
||||||
"calendar-merger": "file:",
|
"calendar-merger": "file:",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"ical": "^0.8.0",
|
|
||||||
"ical-generator": "^0.2.10",
|
|
||||||
"ical.js": "^2.1.0",
|
"ical.js": "^2.1.0",
|
||||||
"node-cron": "^2.0.3",
|
"node-cron": "^2.0.3",
|
||||||
"supertest": "^7.0.0"
|
"supertest": "^7.0.0",
|
||||||
|
"winston": "^3.17.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.26.0",
|
||||||
|
"@babel/plugin-transform-modules-commonjs": "^7.25.9",
|
||||||
"@babel/preset-env": "^7.26.0",
|
"@babel/preset-env": "^7.26.0",
|
||||||
"@babel/register": "^7.25.9",
|
"@babel/register": "^7.25.9",
|
||||||
|
"babel-jest": "^29.7.0",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"rewire": "^7.0.0"
|
"rewire": "^7.0.0"
|
||||||
}
|
}
|
||||||
|
@ -1808,6 +1810,24 @@
|
||||||
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
|
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@colors/colors": {
|
||||||
|
"version": "1.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz",
|
||||||
|
"integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.1.90"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@dabh/diagnostics": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
|
||||||
|
"dependencies": {
|
||||||
|
"colorspace": "1.1.x",
|
||||||
|
"enabled": "2.0.x",
|
||||||
|
"kuler": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@eslint-community/eslint-utils": {
|
"node_modules/@eslint-community/eslint-utils": {
|
||||||
"version": "4.4.1",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
|
||||||
|
@ -2492,6 +2512,11 @@
|
||||||
"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
|
"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/triple-beam": {
|
||||||
|
"version": "1.3.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
|
||||||
|
"integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="
|
||||||
|
},
|
||||||
"node_modules/@types/yargs": {
|
"node_modules/@types/yargs": {
|
||||||
"version": "17.0.33",
|
"version": "17.0.33",
|
||||||
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
|
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
|
||||||
|
@ -2631,7 +2656,13 @@
|
||||||
"node_modules/asap": {
|
"node_modules/asap": {
|
||||||
"version": "2.0.6",
|
"version": "2.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||||
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
|
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/async": {
|
||||||
|
"version": "3.2.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
|
||||||
|
"integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="
|
||||||
},
|
},
|
||||||
"node_modules/asynckit": {
|
"node_modules/asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
|
@ -3053,6 +3084,15 @@
|
||||||
"integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
|
"integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/color": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
|
||||||
|
"integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
|
||||||
|
"dependencies": {
|
||||||
|
"color-convert": "^1.9.3",
|
||||||
|
"color-string": "^1.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/color-convert": {
|
"node_modules/color-convert": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
@ -3068,8 +3108,38 @@
|
||||||
"node_modules/color-name": {
|
"node_modules/color-name": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
"dev": true
|
},
|
||||||
|
"node_modules/color-string": {
|
||||||
|
"version": "1.9.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
|
||||||
|
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
|
||||||
|
"dependencies": {
|
||||||
|
"color-name": "^1.0.0",
|
||||||
|
"simple-swizzle": "^0.2.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/color/node_modules/color-convert": {
|
||||||
|
"version": "1.9.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||||
|
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||||
|
"dependencies": {
|
||||||
|
"color-name": "1.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/color/node_modules/color-name": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
|
||||||
|
},
|
||||||
|
"node_modules/colorspace": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==",
|
||||||
|
"dependencies": {
|
||||||
|
"color": "^3.1.3",
|
||||||
|
"text-hex": "1.0.x"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/combined-stream": {
|
"node_modules/combined-stream": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
|
@ -3092,6 +3162,7 @@
|
||||||
"version": "1.3.1",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
|
||||||
"integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
|
"integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
|
||||||
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
|
@ -3143,7 +3214,8 @@
|
||||||
"node_modules/cookiejar": {
|
"node_modules/cookiejar": {
|
||||||
"version": "2.1.4",
|
"version": "2.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
|
||||||
"integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw=="
|
"integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==",
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/core-js-compat": {
|
"node_modules/core-js-compat": {
|
||||||
"version": "3.38.1",
|
"version": "3.38.1",
|
||||||
|
@ -3180,9 +3252,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cross-spawn": {
|
"node_modules/cross-spawn": {
|
||||||
"version": "7.0.3",
|
"version": "7.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
||||||
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
|
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"path-key": "^3.1.0",
|
"path-key": "^3.1.0",
|
||||||
|
@ -3284,6 +3356,7 @@
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
|
||||||
"integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
|
"integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"asap": "^2.0.0",
|
"asap": "^2.0.0",
|
||||||
"wrappy": "1"
|
"wrappy": "1"
|
||||||
|
@ -3339,6 +3412,11 @@
|
||||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/enabled": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
|
||||||
|
},
|
||||||
"node_modules/encodeurl": {
|
"node_modules/encodeurl": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
||||||
|
@ -3798,7 +3876,8 @@
|
||||||
"node_modules/fast-safe-stringify": {
|
"node_modules/fast-safe-stringify": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
|
||||||
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
|
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/fastq": {
|
"node_modules/fastq": {
|
||||||
"version": "1.17.1",
|
"version": "1.17.1",
|
||||||
|
@ -3818,6 +3897,11 @@
|
||||||
"bser": "2.1.1"
|
"bser": "2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/fecha": {
|
||||||
|
"version": "4.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
|
||||||
|
},
|
||||||
"node_modules/file-entry-cache": {
|
"node_modules/file-entry-cache": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
|
||||||
|
@ -4001,6 +4085,11 @@
|
||||||
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
|
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/fn.name": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
|
||||||
|
},
|
||||||
"node_modules/follow-redirects": {
|
"node_modules/follow-redirects": {
|
||||||
"version": "1.15.9",
|
"version": "1.15.9",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
|
||||||
|
@ -4037,6 +4126,7 @@
|
||||||
"version": "3.5.2",
|
"version": "3.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.2.tgz",
|
||||||
"integrity": "sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==",
|
"integrity": "sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==",
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dezalgo": "^1.0.4",
|
"dezalgo": "^1.0.4",
|
||||||
"hexoid": "^2.0.0",
|
"hexoid": "^2.0.0",
|
||||||
|
@ -4269,6 +4359,7 @@
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/hexoid/-/hexoid-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/hexoid/-/hexoid-2.0.0.tgz",
|
||||||
"integrity": "sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==",
|
"integrity": "sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==",
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
|
@ -4303,19 +4394,6 @@
|
||||||
"node": ">=10.17.0"
|
"node": ">=10.17.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ical": {
|
|
||||||
"version": "0.8.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/ical/-/ical-0.8.0.tgz",
|
|
||||||
"integrity": "sha512-/viUSb/RGLLnlgm0lWRlPBtVeQguQRErSPYl3ugnUaKUnzQswKqOG3M8/P1v1AB5NJwlHTuvTq1cs4mpeG2rCg==",
|
|
||||||
"dependencies": {
|
|
||||||
"rrule": "2.4.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/ical-generator": {
|
|
||||||
"version": "0.2.10",
|
|
||||||
"resolved": "https://registry.npmjs.org/ical-generator/-/ical-generator-0.2.10.tgz",
|
|
||||||
"integrity": "sha512-q4TRRGIaG8McNeZRx9sF120vxVuZbPSAMiwn9GgI9+iRrrtUsLZnVUAO7dPP7XSXt+yrrrxP2LbQ+KEnUC6+JQ=="
|
|
||||||
},
|
|
||||||
"node_modules/ical.js": {
|
"node_modules/ical.js": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/ical.js/-/ical.js-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/ical.js/-/ical.js-2.1.0.tgz",
|
||||||
|
@ -4512,7 +4590,6 @@
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
},
|
},
|
||||||
|
@ -5297,6 +5374,11 @@
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/kuler": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
|
||||||
|
},
|
||||||
"node_modules/leven": {
|
"node_modules/leven": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
|
||||||
|
@ -5349,6 +5431,27 @@
|
||||||
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/logform": {
|
||||||
|
"version": "2.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz",
|
||||||
|
"integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@colors/colors": "1.6.0",
|
||||||
|
"@types/triple-beam": "^1.3.2",
|
||||||
|
"fecha": "^4.2.0",
|
||||||
|
"ms": "^2.1.1",
|
||||||
|
"safe-stable-stringify": "^2.3.1",
|
||||||
|
"triple-beam": "^1.3.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/logform/node_modules/ms": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||||
|
},
|
||||||
"node_modules/lru-cache": {
|
"node_modules/lru-cache": {
|
||||||
"version": "5.1.1",
|
"version": "5.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
||||||
|
@ -5358,15 +5461,6 @@
|
||||||
"yallist": "^3.0.2"
|
"yallist": "^3.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/luxon": {
|
|
||||||
"version": "1.28.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.1.tgz",
|
|
||||||
"integrity": "sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==",
|
|
||||||
"optional": true,
|
|
||||||
"engines": {
|
|
||||||
"node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/make-dir": {
|
"node_modules/make-dir": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
|
||||||
|
@ -5592,6 +5686,14 @@
|
||||||
"wrappy": "1"
|
"wrappy": "1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/one-time": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
|
||||||
|
"dependencies": {
|
||||||
|
"fn.name": "1.x.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/onetime": {
|
"node_modules/onetime": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||||
|
@ -5959,6 +6061,19 @@
|
||||||
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/readable-stream": {
|
||||||
|
"version": "3.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
||||||
|
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
||||||
|
"dependencies": {
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"string_decoder": "^1.1.1",
|
||||||
|
"util-deprecate": "^1.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/regenerate": {
|
"node_modules/regenerate": {
|
||||||
"version": "1.4.2",
|
"version": "1.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
|
||||||
|
@ -6118,14 +6233,6 @@
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rrule": {
|
|
||||||
"version": "2.4.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/rrule/-/rrule-2.4.1.tgz",
|
|
||||||
"integrity": "sha512-+NcvhETefswZq13T8nkuEnnQ6YgUeZaqMqVbp+ZiFDPCbp3AVgQIwUvNVDdMNrP05bKZG9ddDULFp0qZZYDrxg==",
|
|
||||||
"optionalDependencies": {
|
|
||||||
"luxon": "^1.3.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/run-parallel": {
|
"node_modules/run-parallel": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
||||||
|
@ -6168,6 +6275,14 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"node_modules/safe-stable-stringify": {
|
||||||
|
"version": "2.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz",
|
||||||
|
"integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/safer-buffer": {
|
"node_modules/safer-buffer": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||||
|
@ -6309,6 +6424,19 @@
|
||||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/simple-swizzle": {
|
||||||
|
"version": "0.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
|
||||||
|
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
|
||||||
|
"dependencies": {
|
||||||
|
"is-arrayish": "^0.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/simple-swizzle/node_modules/is-arrayish": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
|
||||||
|
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
|
||||||
|
},
|
||||||
"node_modules/sisteransi": {
|
"node_modules/sisteransi": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
|
||||||
|
@ -6349,6 +6477,14 @@
|
||||||
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
|
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/stack-trace": {
|
||||||
|
"version": "0.0.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
|
||||||
|
"integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/stack-utils": {
|
"node_modules/stack-utils": {
|
||||||
"version": "2.0.6",
|
"version": "2.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
|
||||||
|
@ -6369,6 +6505,14 @@
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/string_decoder": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
||||||
|
"dependencies": {
|
||||||
|
"safe-buffer": "~5.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/string-length": {
|
"node_modules/string-length": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
|
||||||
|
@ -6442,6 +6586,7 @@
|
||||||
"version": "9.0.2",
|
"version": "9.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz",
|
||||||
"integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==",
|
"integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==",
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"component-emitter": "^1.3.0",
|
"component-emitter": "^1.3.0",
|
||||||
"cookiejar": "^2.1.4",
|
"cookiejar": "^2.1.4",
|
||||||
|
@ -6461,6 +6606,7 @@
|
||||||
"version": "4.3.7",
|
"version": "4.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
|
||||||
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
|
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "^2.1.3"
|
"ms": "^2.1.3"
|
||||||
},
|
},
|
||||||
|
@ -6477,6 +6623,7 @@
|
||||||
"version": "2.6.0",
|
"version": "2.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
||||||
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
|
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
|
||||||
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
"mime": "cli.js"
|
"mime": "cli.js"
|
||||||
},
|
},
|
||||||
|
@ -6487,12 +6634,14 @@
|
||||||
"node_modules/superagent/node_modules/ms": {
|
"node_modules/superagent/node_modules/ms": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||||
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/supertest": {
|
"node_modules/supertest": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/supertest/-/supertest-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/supertest/-/supertest-7.0.0.tgz",
|
||||||
"integrity": "sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==",
|
"integrity": "sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==",
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"methods": "^1.1.2",
|
"methods": "^1.1.2",
|
||||||
"superagent": "^9.0.1"
|
"superagent": "^9.0.1"
|
||||||
|
@ -6539,6 +6688,11 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/text-hex": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
|
||||||
|
},
|
||||||
"node_modules/text-table": {
|
"node_modules/text-table": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
|
||||||
|
@ -6571,6 +6725,14 @@
|
||||||
"node": ">=0.6"
|
"node": ">=0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/triple-beam": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 14.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/type-check": {
|
"node_modules/type-check": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
||||||
|
@ -6714,6 +6876,11 @@
|
||||||
"punycode": "^2.1.0"
|
"punycode": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/util-deprecate": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
||||||
|
},
|
||||||
"node_modules/utils-merge": {
|
"node_modules/utils-merge": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||||
|
@ -6768,6 +6935,40 @@
|
||||||
"node": ">= 8"
|
"node": ">= 8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/winston": {
|
||||||
|
"version": "3.17.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz",
|
||||||
|
"integrity": "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==",
|
||||||
|
"dependencies": {
|
||||||
|
"@colors/colors": "^1.6.0",
|
||||||
|
"@dabh/diagnostics": "^2.0.2",
|
||||||
|
"async": "^3.2.3",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"logform": "^2.7.0",
|
||||||
|
"one-time": "^1.0.0",
|
||||||
|
"readable-stream": "^3.4.0",
|
||||||
|
"safe-stable-stringify": "^2.3.1",
|
||||||
|
"stack-trace": "0.0.x",
|
||||||
|
"triple-beam": "^1.3.0",
|
||||||
|
"winston-transport": "^4.9.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/winston-transport": {
|
||||||
|
"version": "4.9.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz",
|
||||||
|
"integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==",
|
||||||
|
"dependencies": {
|
||||||
|
"logform": "^2.7.0",
|
||||||
|
"readable-stream": "^3.6.2",
|
||||||
|
"triple-beam": "^1.3.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/word-wrap": {
|
"node_modules/word-wrap": {
|
||||||
"version": "1.2.5",
|
"version": "1.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
|
||||||
|
|
14
package.json
14
package.json
|
@ -2,27 +2,29 @@
|
||||||
"name": "calendar-merger",
|
"name": "calendar-merger",
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node app.js",
|
"start": "node src/app.js",
|
||||||
"test": "jest ./test"
|
"test": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js ./test"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.7.7",
|
"axios": "^1.7.7",
|
||||||
"calendar-merger": "file:",
|
"calendar-merger": "file:",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"ical": "^0.8.0",
|
|
||||||
"ical-generator": "^0.2.10",
|
|
||||||
"ical.js": "^2.1.0",
|
"ical.js": "^2.1.0",
|
||||||
"node-cron": "^2.0.3",
|
"node-cron": "^2.0.3",
|
||||||
"supertest": "^7.0.0"
|
"supertest": "^7.0.0",
|
||||||
|
"winston": "^3.17.0"
|
||||||
},
|
},
|
||||||
"description": "calmerger",
|
"description": "calmerger",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"type": "module",
|
|
||||||
"author": "Ryan",
|
"author": "Ryan",
|
||||||
|
"type": "module",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.26.0",
|
||||||
|
"@babel/plugin-transform-modules-commonjs": "^7.25.9",
|
||||||
"@babel/preset-env": "^7.26.0",
|
"@babel/preset-env": "^7.26.0",
|
||||||
"@babel/register": "^7.25.9",
|
"@babel/register": "^7.25.9",
|
||||||
|
"babel-jest": "^29.7.0",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"rewire": "^7.0.0"
|
"rewire": "^7.0.0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import ICAL from 'ical.js';
|
import ICAL from './lib/ical.timezones.js';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import logger from './logger.js';
|
||||||
|
|
||||||
export const MERGED_CALENDARS_DIR = path.join(process.cwd(), 'calendar');
|
export const MERGED_CALENDARS_DIR = path.join(process.cwd(), 'calendar');
|
||||||
|
|
||||||
|
@ -16,52 +17,107 @@ export async function fetchCalendarData(calendar) {
|
||||||
const isFilePath = !calendar.url.startsWith('http');
|
const isFilePath = !calendar.url.startsWith('http');
|
||||||
try {
|
try {
|
||||||
if (isFilePath) {
|
if (isFilePath) {
|
||||||
|
// logger.debug(`Reading calendar from file: ${calendar.url}`);
|
||||||
return { data: fs.readFileSync(path.resolve(calendar.url), 'utf-8'), ...calendar };
|
return { data: fs.readFileSync(path.resolve(calendar.url), 'utf-8'), ...calendar };
|
||||||
} else {
|
} else {
|
||||||
|
// logger.debug(`Fetching calendar from URL: ${calendar.url}`);
|
||||||
const response = await axios.get(calendar.url);
|
const response = await axios.get(calendar.url);
|
||||||
return { data: response.data, ...calendar };
|
return { data: response.data, ...calendar };
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
logger.error(`Error retrieving calendar from ${calendar.url}: ${error.message}`);
|
||||||
throw new Error(`Error retrieving calendar from ${calendar.url}: ${error.message}`);
|
throw new Error(`Error retrieving calendar from ${calendar.url}: ${error.message}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a top-level VCALENDAR component
|
// Create a top-level VCALENDAR component
|
||||||
export function createCalendarComponent(name) {
|
export function createCalendarComponent(name) {
|
||||||
|
logger.info(`Creating calendar component with name: ${name}`);
|
||||||
const calendarComponent = new ICAL.Component(['vcalendar', [], []]);
|
const calendarComponent = new ICAL.Component(['vcalendar', [], []]);
|
||||||
calendarComponent.updatePropertyWithValue('prodid', '-//Your Product ID//EN');
|
|
||||||
calendarComponent.updatePropertyWithValue('version', '2.0');
|
|
||||||
calendarComponent.updatePropertyWithValue('name', name);
|
calendarComponent.updatePropertyWithValue('name', name);
|
||||||
|
calendarComponent.updatePropertyWithValue('prodid', '-//CalMerge//Calendar Merger 1.0//EN');
|
||||||
|
calendarComponent.updatePropertyWithValue('version', '2.0');
|
||||||
|
calendarComponent.updatePropertyWithValue('calscale', 'GREGORIAN');
|
||||||
return calendarComponent;
|
return calendarComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add events to the calendar component
|
// Add events to the calendar component
|
||||||
export function addEventsToCalendar(calendarComponent, results) {
|
export function addEventsToCalendar(newCalendar, calendars) {
|
||||||
results.forEach((result) => {
|
let defaultTimeZone = null; // To store the first found X-WR-TIMEZONE
|
||||||
const parsed = ICAL.parse(result.data);
|
|
||||||
const component = new ICAL.Component(parsed);
|
calendars.forEach((calendarRaw) => {
|
||||||
|
try {
|
||||||
|
const { data, prefix, override } = calendarRaw; // Extract prefix and override
|
||||||
|
const calendar = new ICAL.Component(ICAL.parse(calendarRaw.data));
|
||||||
|
|
||||||
|
// Extract METHOD from the parsed data (if available)
|
||||||
|
const method = calendar.getFirstPropertyValue('method');
|
||||||
|
if (method) {
|
||||||
|
logger.info(`Extracted METHOD: ${method}`);
|
||||||
|
// Only add the METHOD property once
|
||||||
|
if (!newCalendar.getFirstPropertyValue('method')) {
|
||||||
|
newCalendar.updatePropertyWithValue('method', method.toUpperCase());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Extract X-WR-TIMEZONE if available
|
||||||
|
const wrTimeZone = calendar.getFirstPropertyValue('x-wr-timezone');
|
||||||
|
if (wrTimeZone) {
|
||||||
|
logger.info(`Extracted X-WR-TIMEZONE: ${wrTimeZone}`);
|
||||||
|
// Set it as the default if not already set
|
||||||
|
if (!defaultTimeZone) {
|
||||||
|
defaultTimeZone = wrTimeZone;
|
||||||
|
if (!newCalendar.getFirstPropertyValue('x-wr-timezone')) {
|
||||||
|
newCalendar.updatePropertyWithValue('x-wr-timezone', defaultTimeZone);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
component.getAllSubcomponents('vevent').forEach((event) => {
|
// Extract and add VTIMEZONE components
|
||||||
const vevent = new ICAL.Event(event);
|
const timezones = calendar.getAllSubcomponents('vtimezone');
|
||||||
const newEvent = new ICAL.Component('vevent');
|
timezones.forEach((timezone) => {
|
||||||
|
const tzid = timezone.getFirstPropertyValue('tzid');
|
||||||
|
if (!newCalendar.getFirstSubcomponent((comp) => comp.name === 'vtimezone' && comp.getFirstPropertyValue('tzid') === tzid)) {
|
||||||
|
logger.debug(`Adding VTIMEZONE: ${tzid}`);
|
||||||
|
newCalendar.addSubcomponent(timezone);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const startDate = vevent.startDate && ICAL.Time.fromJSDate(vevent.startDate.toJSDate());
|
// Process VEVENT components
|
||||||
const endDate = vevent.endDate && ICAL.Time.fromJSDate(vevent.endDate.toJSDate());
|
calendar.getAllSubcomponents('vevent').forEach((vevent) => {
|
||||||
|
const event = new ICAL.Event(vevent);
|
||||||
|
const newEvent = new ICAL.Event();
|
||||||
|
|
||||||
newEvent.updatePropertyWithValue('uid', vevent.uid);
|
newEvent.uid = event.uid;
|
||||||
newEvent.updatePropertyWithValue('summary', `${result.prefix} ${vevent.summary}`);
|
newEvent.startDate = event.startDate;
|
||||||
newEvent.updatePropertyWithValue('dtstart', startDate);
|
newEvent.endDate = event.endDate;
|
||||||
newEvent.updatePropertyWithValue('dtend', endDate);
|
|
||||||
|
|
||||||
calendarComponent.addSubcomponent(newEvent);
|
const dtstamp = vevent.getFirstPropertyValue('dtstamp');
|
||||||
});
|
if (dtstamp) newEvent.component.updatePropertyWithValue('dtstamp', dtstamp);
|
||||||
|
|
||||||
|
if (override) {
|
||||||
|
newEvent.summary = prefix || 'Busy';
|
||||||
|
} else {
|
||||||
|
newEvent.summary = prefix ? `${prefix} ${event.summary}` : event.summary;
|
||||||
|
if (event.location) newEvent.location = event.location;
|
||||||
|
}
|
||||||
|
|
||||||
|
const rrule = vevent.getFirstPropertyValue('rrule');
|
||||||
|
if (rrule) newEvent.component.updatePropertyWithValue('rrule', rrule);
|
||||||
|
|
||||||
|
// Add the VEVENT to the calendar
|
||||||
|
newCalendar.addSubcomponent(newEvent.component);
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
logger.error(`Error processing calendar: ${error.message}`);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save calendar data to file
|
// Save calendar data to file
|
||||||
export function saveCalendarFile(filename, content) {
|
export function saveCalendarFile(filename, content) {
|
||||||
|
const normalizedContent = content.replace(/\r?\n/g, '\r\n').trimEnd(); // Normalize to CRLF
|
||||||
const filePath = path.join(MERGED_CALENDARS_DIR, filename);
|
const filePath = path.join(MERGED_CALENDARS_DIR, filename);
|
||||||
console.log(`Saving calendar data to file: ${filePath}`);
|
logger.info(`Saving calendar data to file: ${filePath}`);
|
||||||
fs.writeFileSync(filePath, content);
|
fs.writeFileSync(filePath, normalizedContent);
|
||||||
return filePath;
|
return filePath;
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,348 @@
|
||||||
|
import { createRequire } from 'module';
|
||||||
|
const require = createRequire(import.meta.url);
|
||||||
|
|
||||||
|
const ICAL = require('./ical.cjs');
|
||||||
|
(function() {
|
||||||
|
function register(tzdata) { ICAL.TimezoneService.register(ICAL.Component.fromString("BEGIN:VTIMEZONE\r\n" + tzdata + "\r\nEND:VTIMEZONE")) };
|
||||||
|
ICAL.TimezoneService.IANA_TZDB_VERSION = "2024b";
|
||||||
|
register("TZID:Africa/Abidjan\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Abidjan\r\nBEGIN:STANDARD\r\nTZNAME:GMT\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Algiers\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Algiers\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Bissau\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Bissau\r\nBEGIN:STANDARD\r\nTZNAME:GMT\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Cairo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Cairo\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700424T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1FR\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701030T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Casablanca\r\nTZUNTIL:20870511T020001Z\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Casablanca\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Ceuta\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Ceuta\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/El_Aaiun\r\nTZUNTIL:20870511T020001Z\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/El_Aaiun\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Johannesburg\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Johannesburg\r\nBEGIN:STANDARD\r\nTZNAME:SAST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Juba\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Juba\r\nBEGIN:STANDARD\r\nTZNAME:CAT\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Khartoum\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Khartoum\r\nBEGIN:STANDARD\r\nTZNAME:CAT\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Lagos\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Lagos\r\nBEGIN:STANDARD\r\nTZNAME:WAT\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Maputo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Maputo\r\nBEGIN:STANDARD\r\nTZNAME:CAT\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Monrovia\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Monrovia\r\nBEGIN:STANDARD\r\nTZNAME:GMT\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Nairobi\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Nairobi\r\nBEGIN:STANDARD\r\nTZNAME:EAT\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Ndjamena\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Ndjamena\r\nBEGIN:STANDARD\r\nTZNAME:WAT\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Sao_Tome\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Sao_Tome\r\nBEGIN:STANDARD\r\nTZNAME:GMT\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Tripoli\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Tripoli\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Tunis\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Tunis\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Africa/Windhoek\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Africa/Windhoek\r\nBEGIN:STANDARD\r\nTZNAME:CAT\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Adak\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Adak\r\nBEGIN:DAYLIGHT\r\nTZNAME:HDT\r\nTZOFFSETFROM:-1000\r\nTZOFFSETTO:-0900\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:HST\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-1000\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Anchorage\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Anchorage\r\nBEGIN:DAYLIGHT\r\nTZNAME:AKDT\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-0800\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AKST\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0900\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Araguaina\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Araguaina\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Buenos_Aires\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Buenos_Aires\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Catamarca\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Catamarca\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Cordoba\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Cordoba\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Jujuy\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Jujuy\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/La_Rioja\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/La_Rioja\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Mendoza\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Mendoza\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Rio_Gallegos\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Rio_Gallegos\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Salta\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Salta\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/San_Juan\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/San_Juan\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/San_Luis\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/San_Luis\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Tucuman\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Tucuman\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Argentina/Ushuaia\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Argentina/Ushuaia\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Asuncion\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Asuncion\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0300\r\nDTSTART:19701004T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0400\r\nDTSTART:19700322T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Bahia\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Bahia\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Bahia_Banderas\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Bahia_Banderas\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Barbados\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Barbados\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Belem\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Belem\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Belize\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Belize\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Boa_Vista\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Boa_Vista\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Bogota\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Bogota\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Boise\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Boise\r\nBEGIN:DAYLIGHT\r\nTZNAME:MDT\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0600\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0700\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Cambridge_Bay\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Cambridge_Bay\r\nBEGIN:DAYLIGHT\r\nTZNAME:MDT\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0600\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0700\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Campo_Grande\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Campo_Grande\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Cancun\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Cancun\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Caracas\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Caracas\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Cayenne\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Cayenne\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Chicago\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Chicago\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Chihuahua\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Chihuahua\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Ciudad_Juarez\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Ciudad_Juarez\r\nBEGIN:DAYLIGHT\r\nTZNAME:MDT\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0600\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0700\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Costa_Rica\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Costa_Rica\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Cuiaba\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Cuiaba\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Danmarkshavn\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Danmarkshavn\r\nBEGIN:STANDARD\r\nTZNAME:GMT\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Dawson\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Dawson\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Dawson_Creek\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Dawson_Creek\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Denver\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Denver\r\nBEGIN:DAYLIGHT\r\nTZNAME:MDT\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0600\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0700\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Detroit\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Detroit\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Edmonton\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Edmonton\r\nBEGIN:DAYLIGHT\r\nTZNAME:MDT\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0600\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0700\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Eirunepe\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Eirunepe\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/El_Salvador\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/El_Salvador\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Fort_Nelson\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Fort_Nelson\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Fortaleza\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Fortaleza\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Glace_Bay\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Glace_Bay\r\nBEGIN:DAYLIGHT\r\nTZNAME:ADT\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0300\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0400\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Goose_Bay\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Goose_Bay\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0400\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:ADT\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0300\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:America/Grand_Turk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Grand_Turk\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:America/Guatemala\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Guatemala\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Guayaquil\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Guayaquil\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Guyana\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Guyana\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Halifax\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Halifax\r\nBEGIN:DAYLIGHT\r\nTZNAME:ADT\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0300\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0400\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Havana\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Havana\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:America/Hermosillo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Hermosillo\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Indiana/Indianapolis\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Indiana/Indianapolis\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Indiana/Knox\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Indiana/Knox\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Indiana/Marengo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Indiana/Marengo\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Indiana/Petersburg\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Indiana/Petersburg\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Indiana/Tell_City\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Indiana/Tell_City\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Indiana/Vevay\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Indiana/Vevay\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Indiana/Vincennes\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Indiana/Vincennes\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Indiana/Winamac\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Indiana/Winamac\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:America/Inuvik\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Inuvik\r\nBEGIN:DAYLIGHT\r\nTZNAME:MDT\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0600\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0700\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Iqaluit\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Iqaluit\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Jamaica\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Jamaica\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Juneau\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Juneau\r\nBEGIN:DAYLIGHT\r\nTZNAME:AKDT\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-0800\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AKST\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0900\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Kentucky/Louisville\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Kentucky/Louisville\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Kentucky/Monticello\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Kentucky/Monticello\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/La_Paz\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/La_Paz\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Lima\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Lima\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Los_Angeles\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Los_Angeles\r\nBEGIN:DAYLIGHT\r\nTZNAME:PDT\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0700\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:PST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0800\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Maceio\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Maceio\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Managua\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Managua\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Manaus\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Manaus\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Martinique\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Martinique\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Matamoros\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Matamoros\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Mazatlan\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Mazatlan\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Menominee\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Menominee\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Merida\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Merida\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Metlakatla\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Metlakatla\r\nBEGIN:DAYLIGHT\r\nTZNAME:AKDT\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-0800\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AKST\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0900\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Mexico_City\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Mexico_City\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Miquelon\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Miquelon\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0200\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0200\r\nTZOFFSETTO:-0300\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Moncton\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Moncton\r\nBEGIN:DAYLIGHT\r\nTZNAME:ADT\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0300\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0400\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Monterrey\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Monterrey\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Montevideo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Montevideo\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/New_York\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/New_York\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Nome\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Nome\r\nBEGIN:DAYLIGHT\r\nTZNAME:AKDT\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-0800\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AKST\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0900\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Noronha\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Noronha\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0200\r\nTZOFFSETTO:-0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/North_Dakota/Beulah\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/North_Dakota/Beulah\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/North_Dakota/Center\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/North_Dakota/Center\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/North_Dakota/New_Salem\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/North_Dakota/New_Salem\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Nuuk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Nuuk\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:-0200\r\nTZOFFSETTO:-0100\r\nDTSTART:19700328T230000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0100\r\nTZOFFSETTO:-0200\r\nDTSTART:19701025T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Ojinaga\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Ojinaga\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Panama\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Panama\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Paramaribo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Paramaribo\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Phoenix\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Phoenix\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Port-au-Prince\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Port-au-Prince\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Porto_Velho\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Porto_Velho\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Puerto_Rico\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Puerto_Rico\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Punta_Arenas\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Punta_Arenas\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Rankin_Inlet\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Rankin_Inlet\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Recife\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Recife\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Regina\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Regina\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Resolute\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Resolute\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:America/Rio_Branco\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Rio_Branco\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Santarem\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Santarem\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Santiago\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Santiago\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0400\r\nDTSTART:19700405T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0300\r\nDTSTART:19700906T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:America/Santo_Domingo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Santo_Domingo\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Sao_Paulo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Sao_Paulo\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Scoresbysund\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Scoresbysund\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0100\r\nTZOFFSETTO:-0200\r\nDTSTART:19701025T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:-0200\r\nTZOFFSETTO:-0100\r\nDTSTART:19700328T230000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:America/Sitka\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Sitka\r\nBEGIN:DAYLIGHT\r\nTZNAME:AKDT\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-0800\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AKST\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0900\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/St_Johns\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/St_Johns\r\nBEGIN:STANDARD\r\nTZNAME:NST\r\nTZOFFSETFROM:-0230\r\nTZOFFSETTO:-0330\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:NDT\r\nTZOFFSETFROM:-0330\r\nTZOFFSETTO:-0230\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:America/Swift_Current\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Swift_Current\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Tegucigalpa\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Tegucigalpa\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Thule\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Thule\r\nBEGIN:DAYLIGHT\r\nTZNAME:ADT\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0300\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0400\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Tijuana\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Tijuana\r\nBEGIN:DAYLIGHT\r\nTZNAME:PDT\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0700\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:PST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0800\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Toronto\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Toronto\r\nBEGIN:DAYLIGHT\r\nTZNAME:EDT\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EST\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Vancouver\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Vancouver\r\nBEGIN:DAYLIGHT\r\nTZNAME:PDT\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0700\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:PST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0800\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Whitehorse\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Whitehorse\r\nBEGIN:STANDARD\r\nTZNAME:MST\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Winnipeg\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Winnipeg\r\nBEGIN:DAYLIGHT\r\nTZNAME:CDT\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:America/Yakutat\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:America/Yakutat\r\nBEGIN:DAYLIGHT\r\nTZNAME:AKDT\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-0800\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AKST\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0900\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Antarctica/Casey\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Antarctica/Casey\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Antarctica/Davis\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Antarctica/Davis\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Antarctica/Macquarie\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Antarctica/Macquarie\r\nBEGIN:STANDARD\r\nTZNAME:AEST\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1000\r\nDTSTART:19700405T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:AEDT\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1100\r\nDTSTART:19701004T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Antarctica/Mawson\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Antarctica/Mawson\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Antarctica/Palmer\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Antarctica/Palmer\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Antarctica/Rothera\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Antarctica/Rothera\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Antarctica/Troll\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Antarctica/Troll\r\nBEGIN:DAYLIGHT\r\nTZNAME:+02\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:+00\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0000\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Antarctica/Vostok\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Antarctica/Vostok\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Almaty\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Almaty\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Amman\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Amman\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Anadyr\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Anadyr\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Aqtau\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Aqtau\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Aqtobe\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Aqtobe\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Ashgabat\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Ashgabat\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Atyrau\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Atyrau\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Baghdad\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Baghdad\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Baku\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Baku\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Bangkok\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Bangkok\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Barnaul\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Barnaul\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Beirut\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Beirut\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Bishkek\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Bishkek\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0600\r\nTZOFFSETTO:+0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Chita\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Chita\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Colombo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Colombo\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0530\r\nTZOFFSETTO:+0530\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Damascus\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Damascus\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Dhaka\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Dhaka\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0600\r\nTZOFFSETTO:+0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Dili\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Dili\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Dubai\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Dubai\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Dushanbe\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Dushanbe\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Famagusta\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Famagusta\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Gaza\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Gaza\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700328T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701024T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Hebron\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Hebron\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700328T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SA\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701024T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Ho_Chi_Minh\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Ho_Chi_Minh\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Hong_Kong\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Hong_Kong\r\nBEGIN:STANDARD\r\nTZNAME:HKT\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Hovd\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Hovd\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Irkutsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Irkutsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Jakarta\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Jakarta\r\nBEGIN:STANDARD\r\nTZNAME:WIB\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Jayapura\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Jayapura\r\nBEGIN:STANDARD\r\nTZNAME:WIT\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Jerusalem\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Jerusalem\r\nBEGIN:DAYLIGHT\r\nTZNAME:IDT\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700327T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:IST\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Kabul\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Kabul\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0430\r\nTZOFFSETTO:+0430\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Kamchatka\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Kamchatka\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Karachi\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Karachi\r\nBEGIN:STANDARD\r\nTZNAME:PKT\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Kathmandu\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Kathmandu\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0545\r\nTZOFFSETTO:+0545\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Khandyga\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Khandyga\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Kolkata\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Kolkata\r\nBEGIN:STANDARD\r\nTZNAME:IST\r\nTZOFFSETFROM:+0530\r\nTZOFFSETTO:+0530\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Krasnoyarsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Krasnoyarsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Kuching\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Kuching\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Macau\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Macau\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Magadan\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Magadan\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Makassar\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Makassar\r\nBEGIN:STANDARD\r\nTZNAME:WITA\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Manila\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Manila\r\nBEGIN:STANDARD\r\nTZNAME:PST\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Nicosia\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Nicosia\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Asia/Novokuznetsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Novokuznetsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Novosibirsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Novosibirsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Omsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Omsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0600\r\nTZOFFSETTO:+0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Oral\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Oral\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Pontianak\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Pontianak\r\nBEGIN:STANDARD\r\nTZNAME:WIB\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Pyongyang\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Pyongyang\r\nBEGIN:STANDARD\r\nTZNAME:KST\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Qatar\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Qatar\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Qostanay\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Qostanay\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Qyzylorda\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Qyzylorda\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Riyadh\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Riyadh\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Sakhalin\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Sakhalin\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Samarkand\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Samarkand\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Seoul\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Seoul\r\nBEGIN:STANDARD\r\nTZNAME:KST\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Shanghai\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Shanghai\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Singapore\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Singapore\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Srednekolymsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Srednekolymsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Taipei\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Taipei\r\nBEGIN:STANDARD\r\nTZNAME:CST\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Tashkent\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Tashkent\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Tbilisi\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Tbilisi\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Tehran\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Tehran\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0330\r\nTZOFFSETTO:+0330\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Thimphu\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Thimphu\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0600\r\nTZOFFSETTO:+0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Tokyo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Tokyo\r\nBEGIN:STANDARD\r\nTZNAME:JST\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Tomsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Tomsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Ulaanbaatar\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Ulaanbaatar\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Urumqi\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Urumqi\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0600\r\nTZOFFSETTO:+0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Ust-Nera\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Ust-Nera\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Vladivostok\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Vladivostok\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Yakutsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Yakutsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Yangon\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Yangon\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0630\r\nTZOFFSETTO:+0630\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Yekaterinburg\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Yekaterinburg\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Asia/Yerevan\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Asia/Yerevan\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Atlantic/Azores\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Atlantic/Azores\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:-0100\r\nTZOFFSETTO:+0000\r\nDTSTART:19700329T000000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:-0100\r\nDTSTART:19701025T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Atlantic/Bermuda\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Atlantic/Bermuda\r\nBEGIN:DAYLIGHT\r\nTZNAME:ADT\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0300\r\nDTSTART:19700308T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AST\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0400\r\nDTSTART:19701101T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Atlantic/Canary\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Atlantic/Canary\r\nBEGIN:DAYLIGHT\r\nTZNAME:WEST\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0100\r\nDTSTART:19700329T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:WET\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0000\r\nDTSTART:19701025T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Atlantic/Cape_Verde\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Atlantic/Cape_Verde\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0100\r\nTZOFFSETTO:-0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Atlantic/Faroe\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Atlantic/Faroe\r\nBEGIN:DAYLIGHT\r\nTZNAME:WEST\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0100\r\nDTSTART:19700329T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:WET\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0000\r\nDTSTART:19701025T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Atlantic/Madeira\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Atlantic/Madeira\r\nBEGIN:DAYLIGHT\r\nTZNAME:WEST\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0100\r\nDTSTART:19700329T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:WET\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0000\r\nDTSTART:19701025T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Atlantic/South_Georgia\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Atlantic/South_Georgia\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0200\r\nTZOFFSETTO:-0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Atlantic/Stanley\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Atlantic/Stanley\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Australia/Adelaide\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Adelaide\r\nBEGIN:STANDARD\r\nTZNAME:ACST\r\nTZOFFSETFROM:+1030\r\nTZOFFSETTO:+0930\r\nDTSTART:19700405T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:ACDT\r\nTZOFFSETFROM:+0930\r\nTZOFFSETTO:+1030\r\nDTSTART:19701004T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Australia/Brisbane\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Brisbane\r\nBEGIN:STANDARD\r\nTZNAME:AEST\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Australia/Broken_Hill\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Broken_Hill\r\nBEGIN:STANDARD\r\nTZNAME:ACST\r\nTZOFFSETFROM:+1030\r\nTZOFFSETTO:+0930\r\nDTSTART:19700405T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:ACDT\r\nTZOFFSETFROM:+0930\r\nTZOFFSETTO:+1030\r\nDTSTART:19701004T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Australia/Darwin\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Darwin\r\nBEGIN:STANDARD\r\nTZNAME:ACST\r\nTZOFFSETFROM:+0930\r\nTZOFFSETTO:+0930\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Australia/Eucla\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Eucla\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0845\r\nTZOFFSETTO:+0845\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Australia/Hobart\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Hobart\r\nBEGIN:DAYLIGHT\r\nTZNAME:AEDT\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1100\r\nDTSTART:19701004T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:AEST\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1000\r\nDTSTART:19700405T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Australia/Lindeman\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Lindeman\r\nBEGIN:STANDARD\r\nTZNAME:AEST\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Australia/Lord_Howe\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Lord_Howe\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1030\r\nDTSTART:19700405T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:+1030\r\nTZOFFSETTO:+1100\r\nDTSTART:19701004T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Australia/Melbourne\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Melbourne\r\nBEGIN:STANDARD\r\nTZNAME:AEST\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1000\r\nDTSTART:19700405T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:AEDT\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1100\r\nDTSTART:19701004T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Australia/Perth\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Perth\r\nBEGIN:STANDARD\r\nTZNAME:AWST\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Australia/Sydney\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Australia/Sydney\r\nBEGIN:STANDARD\r\nTZNAME:AEST\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1000\r\nDTSTART:19700405T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:AEDT\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1100\r\nDTSTART:19701004T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Etc/GMT\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT\r\nBEGIN:STANDARD\r\nTZNAME:GMT\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+1\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+1\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0100\r\nTZOFFSETTO:-0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+10\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+10\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-1000\r\nTZOFFSETTO:-1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+11\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+11\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-1100\r\nTZOFFSETTO:-1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+12\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+12\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-1200\r\nTZOFFSETTO:-1200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+2\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+2\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0200\r\nTZOFFSETTO:-0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+3\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+3\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0300\r\nTZOFFSETTO:-0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+4\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+4\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+5\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+5\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+6\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+6\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+7\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+7\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0700\r\nTZOFFSETTO:-0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+8\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+8\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT+9\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT+9\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-1\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-1\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-10\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-10\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-11\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-11\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-12\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-12\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-13\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-13\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1300\r\nTZOFFSETTO:+1300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-14\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-14\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1400\r\nTZOFFSETTO:+1400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-2\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-2\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-3\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-3\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-4\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-4\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-5\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-5\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-6\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-6\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0600\r\nTZOFFSETTO:+0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-7\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-7\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0700\r\nTZOFFSETTO:+0700\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-8\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-8\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0800\r\nTZOFFSETTO:+0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/GMT-9\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/GMT-9\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Etc/UTC\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Etc/UTC\r\nBEGIN:STANDARD\r\nTZNAME:UTC\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Andorra\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Andorra\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Astrakhan\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Astrakhan\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Athens\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Athens\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Belgrade\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Belgrade\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Berlin\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Berlin\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Brussels\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Brussels\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Bucharest\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Bucharest\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Budapest\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Budapest\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Chisinau\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Chisinau\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Dublin\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Dublin\r\nBEGIN:STANDARD\r\nTZNAME:IST\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0100\r\nDTSTART:19700329T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:GMT\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0000\r\nDTSTART:19701025T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Europe/Gibraltar\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Gibraltar\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Helsinki\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Helsinki\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Istanbul\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Istanbul\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Kaliningrad\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Kaliningrad\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Kirov\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Kirov\r\nBEGIN:STANDARD\r\nTZNAME:MSK\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Kyiv\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Kyiv\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Europe/Lisbon\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Lisbon\r\nBEGIN:STANDARD\r\nTZNAME:WET\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0000\r\nDTSTART:19701025T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:WEST\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0100\r\nDTSTART:19700329T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Europe/London\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/London\r\nBEGIN:DAYLIGHT\r\nTZNAME:BST\r\nTZOFFSETFROM:+0000\r\nTZOFFSETTO:+0100\r\nDTSTART:19700329T010000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:GMT\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0000\r\nDTSTART:19701025T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Madrid\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Madrid\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Malta\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Malta\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Minsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Minsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Moscow\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Moscow\r\nBEGIN:STANDARD\r\nTZNAME:MSK\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Paris\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Paris\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Prague\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Prague\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Riga\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Riga\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Rome\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Rome\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Samara\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Samara\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Saratov\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Saratov\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Simferopol\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Simferopol\r\nBEGIN:STANDARD\r\nTZNAME:MSK\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Sofia\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Sofia\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Tallinn\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Tallinn\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Tirane\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Tirane\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Ulyanovsk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Ulyanovsk\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Vienna\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Vienna\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Vilnius\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Vilnius\r\nBEGIN:DAYLIGHT\r\nTZNAME:EEST\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nDTSTART:19700329T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:EET\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nDTSTART:19701025T040000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Volgograd\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Volgograd\r\nBEGIN:STANDARD\r\nTZNAME:MSK\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Warsaw\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Warsaw\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Europe/Zurich\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Europe/Zurich\r\nBEGIN:DAYLIGHT\r\nTZNAME:CEST\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nDTSTART:19700329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:CET\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nDTSTART:19701025T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Indian/Chagos\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Indian/Chagos\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0600\r\nTZOFFSETTO:+0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Indian/Maldives\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Indian/Maldives\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0500\r\nTZOFFSETTO:+0500\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Indian/Mauritius\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Indian/Mauritius\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0400\r\nTZOFFSETTO:+0400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Apia\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Apia\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1300\r\nTZOFFSETTO:+1300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Auckland\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Auckland\r\nBEGIN:DAYLIGHT\r\nTZNAME:NZDT\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1300\r\nDTSTART:19700927T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:NZST\r\nTZOFFSETFROM:+1300\r\nTZOFFSETTO:+1200\r\nDTSTART:19700405T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Bougainville\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Bougainville\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Chatham\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Chatham\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:+1245\r\nTZOFFSETTO:+1345\r\nDTSTART:19700927T024500\r\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1345\r\nTZOFFSETTO:+1245\r\nDTSTART:19700405T034500\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Easter\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Easter\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0600\r\nDTSTART:19700404T220000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0500\r\nDTSTART:19700905T220000\r\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\r\nEND:DAYLIGHT");
|
||||||
|
register("TZID:Pacific/Efate\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Efate\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Fakaofo\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Fakaofo\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1300\r\nTZOFFSETTO:+1300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Fiji\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Fiji\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Galapagos\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Galapagos\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0600\r\nTZOFFSETTO:-0600\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Gambier\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Gambier\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0900\r\nTZOFFSETTO:-0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Guadalcanal\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Guadalcanal\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Guam\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Guam\r\nBEGIN:STANDARD\r\nTZNAME:ChST\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Honolulu\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Honolulu\r\nBEGIN:STANDARD\r\nTZNAME:HST\r\nTZOFFSETFROM:-1000\r\nTZOFFSETTO:-1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Kanton\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Kanton\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1300\r\nTZOFFSETTO:+1300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Kiritimati\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Kiritimati\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1400\r\nTZOFFSETTO:+1400\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Kosrae\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Kosrae\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Kwajalein\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Kwajalein\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Marquesas\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Marquesas\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0930\r\nTZOFFSETTO:-0930\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Nauru\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Nauru\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Niue\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Niue\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-1100\r\nTZOFFSETTO:-1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Norfolk\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Norfolk\r\nBEGIN:DAYLIGHT\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1200\r\nDTSTART:19701004T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1100\r\nDTSTART:19700405T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Noumea\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Noumea\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1100\r\nTZOFFSETTO:+1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Pago_Pago\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Pago_Pago\r\nBEGIN:STANDARD\r\nTZNAME:SST\r\nTZOFFSETFROM:-1100\r\nTZOFFSETTO:-1100\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Palau\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Palau\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+0900\r\nTZOFFSETTO:+0900\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Pitcairn\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Pitcairn\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-0800\r\nTZOFFSETTO:-0800\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Port_Moresby\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Port_Moresby\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1000\r\nTZOFFSETTO:+1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Rarotonga\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Rarotonga\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-1000\r\nTZOFFSETTO:-1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Tahiti\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Tahiti\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:-1000\r\nTZOFFSETTO:-1000\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Tarawa\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Tarawa\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1200\r\nTZOFFSETTO:+1200\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
register("TZID:Pacific/Tongatapu\r\nLAST-MODIFIED:20241022T084017Z\r\nX-LIC-LOCATION:Pacific/Tongatapu\r\nBEGIN:STANDARD\r\nTZNAME:%z\r\nTZOFFSETFROM:+1300\r\nTZOFFSETTO:+1300\r\nDTSTART:19700101T000000\r\nEND:STANDARD");
|
||||||
|
})();
|
||||||
|
export default ICAL;
|
|
@ -0,0 +1,24 @@
|
||||||
|
import { createLogger, format, transports } from 'winston';
|
||||||
|
|
||||||
|
const { combine, timestamp, printf, colorize } = format;
|
||||||
|
|
||||||
|
// Define custom log format
|
||||||
|
const logFormat = printf(({ level, message, timestamp }) => {
|
||||||
|
return `[${timestamp}] ${level}: ${message}`;
|
||||||
|
});
|
||||||
|
|
||||||
|
//create logger
|
||||||
|
const logger = createLogger({
|
||||||
|
level: process.env.NODE_ENV === 'production' ? 'info' : 'debug',
|
||||||
|
format: combine(
|
||||||
|
timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
|
||||||
|
colorize(),
|
||||||
|
logFormat
|
||||||
|
),
|
||||||
|
transports: [
|
||||||
|
new transports.Console(),
|
||||||
|
new transports.File({ filename: 'logs/calmerge.log' })
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
|
export default logger;
|
|
@ -47,9 +47,9 @@ async function refreshCalendarData(calendarName) {
|
||||||
// Read the JSON file to get the source URL and other details
|
// Read the JSON file to get the source URL and other details
|
||||||
const { calendars } = JSON.parse(fs.readFileSync(jsonFilePath, 'utf-8'));
|
const { calendars } = JSON.parse(fs.readFileSync(jsonFilePath, 'utf-8'));
|
||||||
|
|
||||||
const results = await Promise.all(calendars.map(fetchCalendarData));
|
const calendarResults = await Promise.all(calendars.map(fetchCalendarData));
|
||||||
const calendarComponent = createCalendarComponent(calendarName);
|
const calendarComponent = createCalendarComponent(calendarName);
|
||||||
addEventsToCalendar(calendarComponent, results);
|
addEventsToCalendar(calendarComponent, calendarResults);
|
||||||
|
|
||||||
saveCalendarFile(`${calendarName}.ics`, calendarComponent.toString());
|
saveCalendarFile(`${calendarName}.ics`, calendarComponent.toString());
|
||||||
console.log('Calendar data refreshed and saved.');
|
console.log('Calendar data refreshed and saved.');
|
||||||
|
|
|
@ -2,13 +2,13 @@ import express from 'express';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import routes from './routes.js';
|
import routes from './routes.js';
|
||||||
|
|
||||||
|
console.log(`Starting server in ${process.cwd()}`);
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
|
|
||||||
|
|
||||||
// Serve static files from the 'public' directory
|
// Serve static files from the 'public' directory
|
||||||
app.use(express.static(path.join(process.cwd(), 'public')));
|
app.use(express.static(path.join(process.cwd(), 'public')));
|
||||||
app.use('/', routes);
|
app.use('/', routes);
|
||||||
|
|
||||||
|
export default app;
|
||||||
export default app;
|
|
|
@ -1,32 +1,41 @@
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import express from 'express';
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
import { fileURLToPath } from 'url';
|
||||||
|
|
||||||
const CALENDARS_DIR = path.join(__dirname, 'calendar')
|
// ESM equivalent of __dirname
|
||||||
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = path.dirname(__filename);
|
||||||
|
|
||||||
|
const CALENDARS_DIR = path.join(__dirname, 'calendar');
|
||||||
const TEST_CALENDARS_DIR = path.join(__dirname, 'test_calendars');
|
const TEST_CALENDARS_DIR = path.join(__dirname, 'test_calendars');
|
||||||
const EXPECTED_OUTPUTS_DIR = path.join(__dirname, 'expected_outputs');
|
const EXPECTED_OUTPUTS_DIR = path.join(__dirname, 'expected_outputs');
|
||||||
|
|
||||||
let server;
|
let server;
|
||||||
process.chdir(__dirname)
|
process.chdir(__dirname)
|
||||||
console.log(process.cwd());
|
const app = await import('../src/server');
|
||||||
const app = require('../src/server').default;
|
|
||||||
|
|
||||||
describe('Calendar Merging API', () => {
|
describe('Calendar Merging API', () => {
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
// Start the server
|
// Start the server
|
||||||
server = app.listen(0);
|
server = app.default.listen(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
// Ensure the server is closed before cleanup
|
// Ensure the server is closed before cleanup
|
||||||
await new Promise(resolve => server.close(resolve));
|
await new Promise(resolve => server.close(resolve));
|
||||||
|
|
||||||
|
// Clean up the merged calendars directory after tests
|
||||||
|
fs.rmdirSync(CALENDARS_DIR, { recursive: true });
|
||||||
|
if (fs.existsSync(CALENDARS_DIR)) {
|
||||||
|
fs.rmdirSync(CALENDARS_DIR, { recursive: true });
|
||||||
|
}
|
||||||
|
|
||||||
// Optional: Add a delay to ensure all handles are released
|
// Optional: Add a delay to ensure all handles are released
|
||||||
await new Promise(resolve => setTimeout(resolve, 100));
|
await new Promise(resolve => setTimeout(resolve, 100));
|
||||||
});
|
});
|
||||||
|
|
||||||
const loadCalendarFile = (filename) => {
|
const getTestCalendarFilename = (filename) => {
|
||||||
return path.join(TEST_CALENDARS_DIR, filename);
|
return path.join(TEST_CALENDARS_DIR, filename);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,6 +43,88 @@ describe('Calendar Merging API', () => {
|
||||||
return fs.readFileSync(path.join(EXPECTED_OUTPUTS_DIR, filename), 'utf8');
|
return fs.readFileSync(path.join(EXPECTED_OUTPUTS_DIR, filename), 'utf8');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
test('Preserve nextcloud calendar', async () => {
|
||||||
|
const input = getTestCalendarFilename('nextcloud-minimal.ics');
|
||||||
|
const response = await request(server)
|
||||||
|
.post('/merge')
|
||||||
|
.send({
|
||||||
|
linkGroupName: 'nextcloud-minimal',
|
||||||
|
calendars: [
|
||||||
|
{
|
||||||
|
url: input,
|
||||||
|
prefix: '',
|
||||||
|
override: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
expect(response.status).toBe(200);
|
||||||
|
// Check if the file was created in the test directory
|
||||||
|
const filePath = path.join(CALENDARS_DIR, 'nextcloud-minimal.ics');
|
||||||
|
console.log('Checking if file exists at:', filePath);
|
||||||
|
expect(fs.existsSync(filePath)).toBe(true);
|
||||||
|
|
||||||
|
// Load expected output
|
||||||
|
const expectedOutput = fs.readFileSync(input, 'utf8');
|
||||||
|
const actualOutput = fs.readFileSync(filePath, 'utf8');
|
||||||
|
|
||||||
|
//compare
|
||||||
|
expect(actualOutput).toBe(expectedOutput);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('Preserve google calendar', async () => {
|
||||||
|
const input = getTestCalendarFilename('google-calendar-minimal.ics');
|
||||||
|
const response = await request(server)
|
||||||
|
.post('/merge')
|
||||||
|
.send({
|
||||||
|
linkGroupName: 'google-calendar-minimal',
|
||||||
|
calendars: [
|
||||||
|
{
|
||||||
|
url: input,
|
||||||
|
prefix: '',
|
||||||
|
override: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
expect(response.status).toBe(200);
|
||||||
|
// Check if the file was created in the test directory
|
||||||
|
const filePath = path.join(CALENDARS_DIR, 'google-calendar-minimal.ics');
|
||||||
|
console.log('Checking if file exists at:', filePath);
|
||||||
|
expect(fs.existsSync(filePath)).toBe(true);
|
||||||
|
|
||||||
|
// Load expected output
|
||||||
|
const expectedOutput = fs.readFileSync(input, 'utf8');
|
||||||
|
const actualOutput = fs.readFileSync(filePath, 'utf8');
|
||||||
|
|
||||||
|
//compare
|
||||||
|
expect(actualOutput).toBe(expectedOutput);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
test('Preserve date-based calendar', async () => {
|
||||||
|
const input = getTestCalendarFilename('US_Holidays.ics');
|
||||||
|
const response = await request(server)
|
||||||
|
.post('/merge')
|
||||||
|
.send({
|
||||||
|
linkGroupName: 'US Holidays',
|
||||||
|
calendars: [
|
||||||
|
{
|
||||||
|
url: input,
|
||||||
|
prefix: '',
|
||||||
|
override: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
expect(response.status).toBe(200);
|
||||||
|
// Check if the file was created in the test directory
|
||||||
|
const filePath = path.join(CALENDARS_DIR, 'US_Holidays.ics');
|
||||||
|
console.log('Checking if file exists at:', filePath);
|
||||||
|
expect(fs.existsSync(filePath)).toBe(true);
|
||||||
|
// Load expected output and compare
|
||||||
|
const expectedOutput = fs.readFileSync(input, 'utf8');
|
||||||
|
const actualOutput = fs.readFileSync(filePath, 'utf8');
|
||||||
|
expect(actualOutput).toBe(expectedOutput);
|
||||||
|
});
|
||||||
|
|
||||||
test('Merge date-based calendar', async () => {
|
test('Merge date-based calendar', async () => {
|
||||||
const response = await request(server)
|
const response = await request(server)
|
||||||
.post('/merge')
|
.post('/merge')
|
||||||
|
@ -41,12 +132,12 @@ describe('Calendar Merging API', () => {
|
||||||
linkGroupName: 'Date Based Calendar',
|
linkGroupName: 'Date Based Calendar',
|
||||||
calendars: [
|
calendars: [
|
||||||
{
|
{
|
||||||
url: loadCalendarFile('holiday_calendar_2023.ics'),
|
url: getTestCalendarFilename('holiday_calendar_2023.ics'),
|
||||||
prefix: 'holiday_calendar_2023',
|
prefix: 'holiday_calendar_2023',
|
||||||
override: false,
|
override: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url: loadCalendarFile('US_Holidays.ics'),
|
url: getTestCalendarFilename('US_Holidays.ics'),
|
||||||
prefix: 'US_holidays',
|
prefix: 'US_holidays',
|
||||||
override: false,
|
override: false,
|
||||||
},
|
},
|
||||||
|
@ -65,21 +156,23 @@ describe('Calendar Merging API', () => {
|
||||||
const actualOutput = fs.readFileSync(filePath, 'utf8');
|
const actualOutput = fs.readFileSync(filePath, 'utf8');
|
||||||
expect(actualOutput).toBe(expectedOutput);
|
expect(actualOutput).toBe(expectedOutput);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//test Merge time-based calendar
|
||||||
test('Merge time-based calendar', async () => {
|
test('Merge time-based calendar', async () => {
|
||||||
|
const input = getTestCalendarFilename('work_task_calendar.ics');
|
||||||
const response = await request(server)
|
const response = await request(server)
|
||||||
.post('/merge')
|
.post('/merge')
|
||||||
.send({
|
.send({
|
||||||
linkGroupName: 'Time Based Calendar',
|
linkGroupName: 'Time Based Calendar',
|
||||||
calendars: [
|
calendars: [
|
||||||
{
|
{
|
||||||
url: loadCalendarFile('team_meeting_calendar.ics'),
|
url: getTestCalendarFilename('team_meeting_calendar.ics'), // Time-based calendar
|
||||||
prefix: 'team_meeting_calendar',
|
prefix: 'team_meeting_calendar',
|
||||||
override: false,
|
override: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url: loadCalendarFile('work_task_calendar.ics'),
|
url: getTestCalendarFilename('work_task_calendar.ics'), // Time-based calendar
|
||||||
prefix: 'work_task',
|
prefix: 'Work_Task',
|
||||||
override: false,
|
override: false,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -94,10 +187,11 @@ describe('Calendar Merging API', () => {
|
||||||
|
|
||||||
// Load expected output and compare
|
// Load expected output and compare
|
||||||
const expectedOutput = loadExpectedOutput('Time_Based_Calendar.ics');
|
const expectedOutput = loadExpectedOutput('Time_Based_Calendar.ics');
|
||||||
const actualOutput = fs.readFileSync (filePath, 'utf8');
|
const actualOutput = fs.readFileSync(filePath, 'utf8');
|
||||||
expect(actualOutput).toBe(expectedOutput);
|
expect(actualOutput).toBe(expectedOutput);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//test Merge calendar without prefix
|
||||||
test('Merge calendar without prefix', async () => {
|
test('Merge calendar without prefix', async () => {
|
||||||
const response = await request(server)
|
const response = await request(server)
|
||||||
.post('/merge')
|
.post('/merge')
|
||||||
|
@ -105,7 +199,7 @@ describe('Calendar Merging API', () => {
|
||||||
linkGroupName: 'No Prefix Calendar',
|
linkGroupName: 'No Prefix Calendar',
|
||||||
calendars: [
|
calendars: [
|
||||||
{
|
{
|
||||||
url: loadCalendarFile('sf_public_holidays.ics'),
|
url: getTestCalendarFilename('sf_public_holidays.ics'),
|
||||||
prefix: '',
|
prefix: '',
|
||||||
override: false,
|
override: false,
|
||||||
},
|
},
|
||||||
|
@ -125,6 +219,7 @@ describe('Calendar Merging API', () => {
|
||||||
expect(actualOutput).toBe(expectedOutput);
|
expect(actualOutput).toBe(expectedOutput);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//test Merge calendar with override
|
||||||
test('Merge calendar with override', async () => {
|
test('Merge calendar with override', async () => {
|
||||||
const response = await request(server)
|
const response = await request(server)
|
||||||
.post('/merge')
|
.post('/merge')
|
||||||
|
@ -132,7 +227,7 @@ describe('Calendar Merging API', () => {
|
||||||
linkGroupName: 'Override Calendar',
|
linkGroupName: 'Override Calendar',
|
||||||
calendars: [
|
calendars: [
|
||||||
{
|
{
|
||||||
url: loadCalendarFile('sf_public_holidays.ics'),
|
url: getTestCalendarFilename('sf_public_holidays.ics'),
|
||||||
prefix: 'Override Event',
|
prefix: 'Override Event',
|
||||||
override: true,
|
override: true,
|
||||||
},
|
},
|
||||||
|
@ -152,37 +247,7 @@ describe('Calendar Merging API', () => {
|
||||||
expect(actualOutput).toBe(expectedOutput);
|
expect(actualOutput).toBe(expectedOutput);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Merge UTC and EAT time zone calendar', async () => {
|
//test Merge date-based and time-based calendars
|
||||||
const response = await request(server)
|
|
||||||
.post('/merge')
|
|
||||||
.send({
|
|
||||||
linkGroupName: 'UTCEAT Time Zone Calendar',
|
|
||||||
calendars: [
|
|
||||||
{
|
|
||||||
url: loadCalendarFile('utc_time_zone_event.ics'),
|
|
||||||
prefix: 'UTC_Event',
|
|
||||||
override: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
url: loadCalendarFile('eat_time_zone_event.ics'),
|
|
||||||
prefix: 'EAT_Event',
|
|
||||||
override: false,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
expect(response.status).toBe(200);
|
|
||||||
expect(response.body.url).toMatch(new RegExp(`calendar/UTCEAT_Time_Zone_Calendar`));
|
|
||||||
|
|
||||||
// Check if the file was created in the test directory
|
|
||||||
const filePath = path.join(CALENDARS_DIR, 'UTCEAT_Time_Zone_Calendar.ics');
|
|
||||||
expect(fs.existsSync(filePath)).toBe(true);
|
|
||||||
|
|
||||||
// Load expected output and compare
|
|
||||||
const expectedOutput = loadExpectedOutput('UTCEAT_Time_Zone_Calendar.ics');
|
|
||||||
const actualOutput = fs.readFileSync(filePath, 'utf8');
|
|
||||||
expect(actualOutput).toBe(expectedOutput);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('Merge date-based and time-based calendars', async () => {
|
test('Merge date-based and time-based calendars', async () => {
|
||||||
const response = await request(server)
|
const response = await request(server)
|
||||||
.post('/merge')
|
.post('/merge')
|
||||||
|
@ -190,12 +255,12 @@ describe('Calendar Merging API', () => {
|
||||||
linkGroupName: 'Merged Date and Time Based Calendar',
|
linkGroupName: 'Merged Date and Time Based Calendar',
|
||||||
calendars: [
|
calendars: [
|
||||||
{
|
{
|
||||||
url: loadCalendarFile('holiday_calendar_2023.ics'), // Date-based calendar
|
url: getTestCalendarFilename('holiday_calendar_2023.ics'), // Date-based calendar
|
||||||
prefix: 'Holiday_2023',
|
prefix: 'Holiday_2023',
|
||||||
override: false,
|
override: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url: loadCalendarFile('work_task_calendar.ics'), // Time-based calendar
|
url: getTestCalendarFilename('work_task_calendar.ics'), // Time-based calendar
|
||||||
prefix: 'Work_Task',
|
prefix: 'Work_Task',
|
||||||
override: false,
|
override: false,
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
import fs from 'fs';
|
import ICAL from '../src/lib/ical.timezones';
|
||||||
|
import fs from 'fs';
|
||||||
|
import path from 'path';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import { jest } from '@jest/globals';
|
||||||
|
import { fileURLToPath } from 'url';
|
||||||
|
|
||||||
|
// ESM equivalent of __dirname
|
||||||
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = path.dirname(__filename);
|
||||||
|
|
||||||
// Describe the test suite for Calendar Utility Functions
|
// Describe the test suite for Calendar Utility Functions
|
||||||
describe('Calendar Utility Functions', () => {
|
describe('Calendar Utility Functions', () => {
|
||||||
|
@ -32,20 +40,17 @@ describe('Calendar Utility Functions', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Test case: reading data from a file
|
// Test case: reading data from a file
|
||||||
it('reads data from a file', async () => {
|
it('reads and parses data from a file', async () => {
|
||||||
const testCalendar = { url: './test_calendars/work_task_calendar.ics' };
|
const testCalendar = { url: path.join(__dirname, 'test_calendars', 'nextcloud.ics'), };
|
||||||
|
|
||||||
// Mock the fs.readFileSync method to return specific test data
|
// Call the fetchCalendarData function
|
||||||
jest.spyOn(fs, 'readFileSync').mockReturnValue('file data');
|
|
||||||
|
|
||||||
// Call the fetchCalendarData function with the test calendar object
|
|
||||||
const result = await fetchCalendarData(testCalendar);
|
const result = await fetchCalendarData(testCalendar);
|
||||||
|
const parsed = ICAL.parse(result.data);
|
||||||
// Assert that the fetched result's data matches the expected file data
|
const component = new ICAL.Component(parsed);
|
||||||
expect(result.data).toBe('file data');
|
const firstEvent = new ICAL.Event(component.getAllSubcomponents('vevent')[0]);
|
||||||
|
// Assert that the fetched and parsed data matches
|
||||||
// Restore the original fs.readFileSync method after the test
|
expect(firstEvent.startDate.toJSON()).toEqual({"day": 20, "hour": 21, "isDate": false, "minute": 15, "month": 11, "second": 0, "timezone": "Europe/Berlin", "year": 2024});
|
||||||
fs.readFileSync.mockRestore();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,17 +1,21 @@
|
||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
PRODID:-//Your Product ID//EN
|
|
||||||
VERSION:2.0
|
|
||||||
NAME:Date Based Calendar
|
NAME:Date Based Calendar
|
||||||
|
PRODID:-//CalMerge//Calendar Merger 1.0//EN
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231225T000000-001@example.com
|
UID:20231225T000000-001@example.com
|
||||||
|
DTSTART;VALUE=DATE:20231225
|
||||||
|
DTEND;VALUE=DATE:20231226
|
||||||
|
DTSTAMP:20231225T000000Z
|
||||||
SUMMARY:holiday_calendar_2023 Christmas Day
|
SUMMARY:holiday_calendar_2023 Christmas Day
|
||||||
DTSTART:20231225T000000
|
LOCATION:Germany
|
||||||
DTEND:20231226T000000
|
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231225T000000-001@example.com
|
UID:20231225T000000-001@example.com
|
||||||
|
DTSTART;VALUE=DATE:20231225
|
||||||
|
DTEND;VALUE=DATE:20231226
|
||||||
|
DTSTAMP:20231225T000000Z
|
||||||
SUMMARY:US_holidays Christmas Day
|
SUMMARY:US_holidays Christmas Day
|
||||||
DTSTART:20231225T000000
|
|
||||||
DTEND:20231226T000000
|
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
|
@ -1,17 +1,21 @@
|
||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
PRODID:-//Your Product ID//EN
|
|
||||||
VERSION:2.0
|
|
||||||
NAME:Merged Date and Time Based Calendar
|
NAME:Merged Date and Time Based Calendar
|
||||||
|
PRODID:-//CalMerge//Calendar Merger 1.0//EN
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231225T000000-001@example.com
|
UID:20231225T000000-001@example.com
|
||||||
|
DTSTART;VALUE=DATE:20231225
|
||||||
|
DTEND;VALUE=DATE:20231226
|
||||||
|
DTSTAMP:20231225T000000Z
|
||||||
SUMMARY:Holiday_2023 Christmas Day
|
SUMMARY:Holiday_2023 Christmas Day
|
||||||
DTSTART:20231225T000000
|
LOCATION:Germany
|
||||||
DTEND:20231226T000000
|
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231108T090000-001@example.com
|
UID:20231108T090000-001@example.com
|
||||||
|
DTSTART:20231108T090000Z
|
||||||
|
DTEND:20231108T100000Z
|
||||||
|
DTSTAMP:20231108T090000Z
|
||||||
SUMMARY:Work_Task Work Task
|
SUMMARY:Work_Task Work Task
|
||||||
DTSTART:20231108T120000
|
|
||||||
DTEND:20231108T130000
|
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
|
@ -1,11 +1,14 @@
|
||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
PRODID:-//Your Product ID//EN
|
|
||||||
VERSION:2.0
|
|
||||||
NAME:No Prefix Calendar
|
NAME:No Prefix Calendar
|
||||||
|
PRODID:-//CalMerge//Calendar Merger 1.0//EN
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231225T000000-001@example.com
|
UID:20231225T000000-001@example.com
|
||||||
SUMMARY: Christmas Day
|
DTSTART;VALUE=DATE:20231225
|
||||||
DTSTART:20231225T000000
|
DTEND;VALUE=DATE:20231226
|
||||||
DTEND:20231226T000000
|
DTSTAMP:20231225T000000Z
|
||||||
|
SUMMARY:Christmas Day
|
||||||
|
LOCATION:San Francisco
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
|
@ -1,11 +1,13 @@
|
||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
PRODID:-//Your Product ID//EN
|
|
||||||
VERSION:2.0
|
|
||||||
NAME:Override Calendar
|
NAME:Override Calendar
|
||||||
|
PRODID:-//CalMerge//Calendar Merger 1.0//EN
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231225T000000-001@example.com
|
UID:20231225T000000-001@example.com
|
||||||
SUMMARY:Override Event Christmas Day
|
DTSTART;VALUE=DATE:20231225
|
||||||
DTSTART:20231225T000000
|
DTEND;VALUE=DATE:20231226
|
||||||
DTEND:20231226T000000
|
DTSTAMP:20231225T000000Z
|
||||||
|
SUMMARY:Override Event
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
|
@ -1,17 +1,21 @@
|
||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
PRODID:-//Your Product ID//EN
|
|
||||||
VERSION:2.0
|
|
||||||
NAME:Time Based Calendar
|
NAME:Time Based Calendar
|
||||||
|
PRODID:-//CalMerge//Calendar Merger 1.0//EN
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231109T110000-001@example.com
|
UID:20231109T110000-001@example.com
|
||||||
|
DTSTART:20231109T110000Z
|
||||||
|
DTEND:20231109T120000Z
|
||||||
|
DTSTAMP:20231109T110000Z
|
||||||
SUMMARY:team_meeting_calendar Team Meeting
|
SUMMARY:team_meeting_calendar Team Meeting
|
||||||
DTSTART:20231109T140000
|
LOCATION:Virtual
|
||||||
DTEND:20231109T150000
|
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231108T090000-001@example.com
|
UID:20231108T090000-001@example.com
|
||||||
SUMMARY:work_task Work Task
|
DTSTART:20231108T090000Z
|
||||||
DTSTART:20231108T120000
|
DTEND:20231108T100000Z
|
||||||
DTEND:20231108T130000
|
DTSTAMP:20231108T090000Z
|
||||||
|
SUMMARY:Work_Task Work Task
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
|
@ -1,17 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
PRODID:-//Your Product ID//EN
|
|
||||||
VERSION:2.0
|
|
||||||
NAME:UTCEAT Time Zone Calendar
|
|
||||||
BEGIN:VEVENT
|
|
||||||
UID:20231108T100000Z-001@example.com
|
|
||||||
SUMMARY:UTC_Event UTC Event
|
|
||||||
DTSTART:20231108T130000
|
|
||||||
DTEND:20231108T140000
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
UID:20231108T090000+0300-001@example.com
|
|
||||||
SUMMARY:EAT_Event EAT Event
|
|
||||||
DTSTART:20231108T090000
|
|
||||||
DTEND:20231108T100000
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"linkGroupName": "UTCEAT Time Zone Calendar",
|
|
||||||
"calendars": [
|
|
||||||
{
|
|
||||||
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\test\\test_calendars\\utc_time_zone_event.ics",
|
|
||||||
"prefix": "UTC_Event",
|
|
||||||
"override": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\test\\test_calendars\\eat_time_zone_event.ics",
|
|
||||||
"prefix": "EAT_Event",
|
|
||||||
"override": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,15 +1,13 @@
|
||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
|
NAME:US Holidays
|
||||||
|
PRODID:-//CalMerge//Calendar Merger 1.0//EN
|
||||||
VERSION:2.0
|
VERSION:2.0
|
||||||
PRODID:-//Example Corp//NONSGML Event//EN
|
CALSCALE:GREGORIAN
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231225T000000-001@example.com
|
UID:20231225T000000-001@example.com
|
||||||
DTSTAMP:20231225T000000Z
|
|
||||||
DTSTART;VALUE=DATE:20231225
|
DTSTART;VALUE=DATE:20231225
|
||||||
DTEND;VALUE=DATE:20231226
|
DTEND;VALUE=DATE:20231226
|
||||||
|
DTSTAMP:20231225T000000Z
|
||||||
SUMMARY:Christmas Day
|
SUMMARY:Christmas Day
|
||||||
DESCRIPTION:Public holiday for Christmas in The US.
|
|
||||||
LOCATION:San Francisco
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SEQUENCE:0
|
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
|
@ -1,15 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
VERSION:2.0
|
|
||||||
PRODID:-//Example Corp//NONSGML Event//EN
|
|
||||||
BEGIN:VEVENT
|
|
||||||
UID:20231108T090000+0300-001@example.com
|
|
||||||
DTSTAMP:20231108T090000+0300
|
|
||||||
DTSTART:20231108T090000+0300
|
|
||||||
DTEND:20231108T100000+0300
|
|
||||||
SUMMARY:EAT Event
|
|
||||||
DESCRIPTION:This event is scheduled in East Africa Time (UTC+3).
|
|
||||||
LOCATION:Virtual
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SEQUENCE:0
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
NAME:google-calendar-minimal
|
||||||
|
PRODID:-//CalMerge//Calendar Merger 1.0//EN
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
|
METHOD:PUBLISH
|
||||||
|
X-WR-TIMEZONE:Africa/Nairobi
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:6tbrvsitniuu72li7kk15gou2b@google.com
|
||||||
|
DTSTART:20241003T190000Z
|
||||||
|
DTEND:20241003T200000Z
|
||||||
|
DTSTAMP:20241119T115316Z
|
||||||
|
SUMMARY:progodessey
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
|
@ -0,0 +1,44 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
PRODID:-//Google Inc//Google Calendar 70.9054//EN
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
|
METHOD:PUBLISH
|
||||||
|
X-WR-CALNAME:work
|
||||||
|
X-WR-TIMEZONE:Africa/Nairobi
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTART:20240930T113000Z
|
||||||
|
DTEND:20240930T123000Z
|
||||||
|
DTSTAMP:20241119T115316Z
|
||||||
|
UID:0d0p2hp0l26ebuk2r0kb1q9kuo@google.com
|
||||||
|
CREATED:20240930T111532Z
|
||||||
|
LAST-MODIFIED:20240930T111532Z
|
||||||
|
SEQUENCE:0
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
SUMMARY:other work
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
DTSTART:20241003T190000Z
|
||||||
|
DTEND:20241003T200000Z
|
||||||
|
DTSTAMP:20241119T115316Z
|
||||||
|
UID:6tbrvsitniuu72li7kk15gou2b@google.com
|
||||||
|
CREATED:20241001T194455Z
|
||||||
|
LAST-MODIFIED:20241001T194455Z
|
||||||
|
SEQUENCE:0
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
SUMMARY:progodessey
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:7l7n9nltrudluv65gfgll2q930@google.com
|
||||||
|
DTSTART:20241009T173000Z
|
||||||
|
DTEND:20241009T183000Z
|
||||||
|
DTSTAMP:20241119T115316Z
|
||||||
|
CREATED:20241010T123337Z
|
||||||
|
LAST-MODIFIED:20241010T123337Z
|
||||||
|
SEQUENCE:0
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
SUMMARY:do
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
|
@ -0,0 +1,32 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
NAME:nextcloud-minimal
|
||||||
|
PRODID:-//CalMerge//Calendar Merger 1.0//EN
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
|
BEGIN:VTIMEZONE
|
||||||
|
TZID:Europe/Berlin
|
||||||
|
BEGIN:DAYLIGHT
|
||||||
|
TZOFFSETFROM:+0100
|
||||||
|
TZOFFSETTO:+0200
|
||||||
|
TZNAME:CEST
|
||||||
|
DTSTART:19700329T020000
|
||||||
|
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||||
|
END:DAYLIGHT
|
||||||
|
BEGIN:STANDARD
|
||||||
|
TZOFFSETFROM:+0200
|
||||||
|
TZOFFSETTO:+0100
|
||||||
|
TZNAME:CET
|
||||||
|
DTSTART:19701025T030000
|
||||||
|
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||||
|
END:STANDARD
|
||||||
|
END:VTIMEZONE
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:5f4ad965-16a8-48eb-8233-78bf93a8b35e
|
||||||
|
DTSTART;TZID=Europe/Berlin:20241120T211500
|
||||||
|
DTEND;TZID=Europe/Berlin:20241120T215000
|
||||||
|
DTSTAMP:20241113T212909Z
|
||||||
|
SUMMARY:JR Weekly Check-In
|
||||||
|
LOCATION:FaceTime
|
||||||
|
RRULE:FREQ=WEEKLY;BYDAY=WE
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
|
@ -0,0 +1,131 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
CALSCALE:GREGORIAN
|
||||||
|
PRODID:-//SabreDAV//SabreDAV//EN
|
||||||
|
X-WR-CALNAME:Progodyssey Ryan (stackspin-a51baefe-70df-4cce-9be1-048354b619
|
||||||
|
b8)
|
||||||
|
X-APPLE-CALENDAR-COLOR:#ddcb55
|
||||||
|
REFRESH-INTERVAL;VALUE=DURATION:PT4H
|
||||||
|
X-PUBLISHED-TTL:PT4H
|
||||||
|
BEGIN:VTIMEZONE
|
||||||
|
TZID:Europe/Berlin
|
||||||
|
BEGIN:DAYLIGHT
|
||||||
|
TZOFFSETFROM:+0100
|
||||||
|
TZOFFSETTO:+0200
|
||||||
|
TZNAME:CEST
|
||||||
|
DTSTART:19700329T020000
|
||||||
|
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||||
|
END:DAYLIGHT
|
||||||
|
BEGIN:STANDARD
|
||||||
|
TZOFFSETFROM:+0200
|
||||||
|
TZOFFSETTO:+0100
|
||||||
|
TZNAME:CET
|
||||||
|
DTSTART:19701025T030000
|
||||||
|
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||||
|
END:STANDARD
|
||||||
|
END:VTIMEZONE
|
||||||
|
BEGIN:VEVENT
|
||||||
|
CREATED:20241113T212909Z
|
||||||
|
DTEND;TZID=Europe/Berlin:20241120T215000
|
||||||
|
DTSTAMP:20241113T212909Z
|
||||||
|
DTSTART;TZID=Europe/Berlin:20241120T211500
|
||||||
|
LAST-MODIFIED:20241113T212909Z
|
||||||
|
LOCATION:FaceTime
|
||||||
|
RRULE:FREQ=WEEKLY;BYDAY=WE
|
||||||
|
SEQUENCE:0
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
SUMMARY:JR Weekly Check-In
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
UID:5f4ad965-16a8-48eb-8233-78bf93a8b35e
|
||||||
|
RELATED-TO;RELTYPE=SIBLING:17cf7d22-9bee-4a8e-9023-878b1a1b73a0
|
||||||
|
BEGIN:VALARM
|
||||||
|
ACKNOWLEDGED:20241113T202052Z
|
||||||
|
ACTION:DISPLAY
|
||||||
|
DESCRIPTION:This is an event reminder.
|
||||||
|
TRIGGER:-PT20M
|
||||||
|
UID:99250427-AB45-4111-A999-DB417FC290D1
|
||||||
|
X-WR-ALARMUID:99250427-AB45-4111-A999-DB417FC290D1
|
||||||
|
SUMMARY:JR Weekly Check-In
|
||||||
|
END:VALARM
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
CREATED:20241113T213036Z
|
||||||
|
DTEND;TZID=Europe/Berlin:20241204T212500
|
||||||
|
DTSTAMP:20241113T213036Z
|
||||||
|
DTSTART;TZID=Europe/Berlin:20241204T203000
|
||||||
|
LAST-MODIFIED:20241113T213036Z
|
||||||
|
LOCATION:FaceTime
|
||||||
|
SEQUENCE:1
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
SUMMARY:JR Weekly Check-In
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
UID:5f4ad965-16a8-48eb-8233-78bf93a8b35e
|
||||||
|
RELATED-TO;RELTYPE=SIBLING:17cf7d22-9bee-4a8e-9023-878b1a1b73a0
|
||||||
|
RECURRENCE-ID;TZID=Europe/Berlin:20241204T211500
|
||||||
|
BEGIN:VALARM
|
||||||
|
ACKNOWLEDGED:20241113T202052Z
|
||||||
|
ACTION:DISPLAY
|
||||||
|
DESCRIPTION:This is an event reminder.
|
||||||
|
TRIGGER:-PT20M
|
||||||
|
UID:99250427-AB45-4111-A999-DB417FC290D1
|
||||||
|
X-WR-ALARMUID:99250427-AB45-4111-A999-DB417FC290D1
|
||||||
|
SUMMARY:JR Weekly Check-In
|
||||||
|
END:VALARM
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
CREATED:20241107T101403Z
|
||||||
|
DTEND;TZID=Europe/Berlin:20241111T134500
|
||||||
|
DTSTAMP:20241118T103806Z
|
||||||
|
DTSTART;TZID=Europe/Berlin:20241111T121500
|
||||||
|
LAST-MODIFIED:20241118T103803Z
|
||||||
|
LOCATION:https://call.element.io/room/#/progodyssey?password=bU95nPdV2u-BGJ
|
||||||
|
4zw9cPGw&roomId=%21QsGQUxdyuMfGKhGvNH%3Acall.ems.host
|
||||||
|
RRULE:FREQ=WEEKLY;BYDAY=MO
|
||||||
|
SEQUENCE:4
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
SUMMARY:JR Coprogramming Session
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
UID:8c251542-6cbf-4396-b83d-490be79c97a9
|
||||||
|
BEGIN:VALARM
|
||||||
|
ACKNOWLEDGED:20241118T103803Z
|
||||||
|
ACTION:DISPLAY
|
||||||
|
DESCRIPTION:This is an event reminder.
|
||||||
|
SUMMARY:Coprogramming Session
|
||||||
|
TRIGGER:-PT1H
|
||||||
|
UID:55C3B462-E182-4A2B-A500-3F249FC860C2
|
||||||
|
X-WR-ALARMUID:55C3B462-E182-4A2B-A500-3F249FC860C2
|
||||||
|
END:VALARM
|
||||||
|
BEGIN:VALARM
|
||||||
|
ACTION:DISPLAY
|
||||||
|
DESCRIPTION:Reminder
|
||||||
|
TRIGGER:-PT1H
|
||||||
|
UID:9AABB2AB-A755-4723-87CF-10B119670E7F
|
||||||
|
X-APPLE-DEFAULT-ALARM:TRUE
|
||||||
|
X-WR-ALARMUID:9AABB2AB-A755-4723-87CF-10B119670E7F
|
||||||
|
END:VALARM
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
CREATED:20241107T101605Z
|
||||||
|
DTEND;TZID=Europe/Berlin:20241113T215500
|
||||||
|
DTSTAMP:20241113T212909Z
|
||||||
|
DTSTART;TZID=Europe/Berlin:20241113T213000
|
||||||
|
LAST-MODIFIED:20241113T212909Z
|
||||||
|
LOCATION:FaceTime
|
||||||
|
RRULE:FREQ=WEEKLY;BYDAY=WE;UNTIL=20241120T202959Z
|
||||||
|
SEQUENCE:4
|
||||||
|
STATUS:CONFIRMED
|
||||||
|
SUMMARY:JR Weekly Check-In
|
||||||
|
TRANSP:OPAQUE
|
||||||
|
UID:17cf7d22-9bee-4a8e-9023-878b1a1b73a0
|
||||||
|
RELATED-TO;RELTYPE=SIBLING:5f4ad965-16a8-48eb-8233-78bf93a8b35e
|
||||||
|
BEGIN:VALARM
|
||||||
|
ACKNOWLEDGED:20241113T202052Z
|
||||||
|
ACTION:DISPLAY
|
||||||
|
DESCRIPTION:This is an event reminder.
|
||||||
|
SUMMARY:JR Weekly Check-In
|
||||||
|
TRIGGER:-PT20M
|
||||||
|
UID:99250427-AB45-4111-A999-DB417FC290D1
|
||||||
|
X-WR-ALARMUID:99250427-AB45-4111-A999-DB417FC290D1
|
||||||
|
END:VALARM
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
|
@ -1,15 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
VERSION:2.0
|
|
||||||
PRODID:-//Example Corp//NONSGML Event//EN
|
|
||||||
BEGIN:VEVENT
|
|
||||||
UID:20231108T100000Z-001@example.com
|
|
||||||
DTSTAMP:20231108T100000Z
|
|
||||||
DTSTART:20231108T100000Z
|
|
||||||
DTEND:20231108T110000Z
|
|
||||||
SUMMARY:UTC Event
|
|
||||||
DESCRIPTION:This event is scheduled in UTC.
|
|
||||||
LOCATION:Virtual
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SEQUENCE:0
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
|
@ -1,15 +1,11 @@
|
||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
|
NAME:Time Based Calendar
|
||||||
VERSION:2.0
|
VERSION:2.0
|
||||||
PRODID:-//Example Corp//NONSGML Event//EN
|
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
UID:20231108T090000-001@example.com
|
UID:20231108T090000-001@example.com
|
||||||
DTSTAMP:20231108T090000Z
|
DTSTAMP:20231108T090000Z
|
||||||
DTSTART:20231108T090000Z
|
DTSTART:20231108T090000Z
|
||||||
DTEND:20231108T100000Z
|
DTEND:20231108T100000Z
|
||||||
SUMMARY:Work Task
|
SUMMARY:Work Task
|
||||||
DESCRIPTION:Time-based work task event.
|
|
||||||
LOCATION:Office
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SEQUENCE:0
|
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
END:VCALENDAR
|
END:VCALENDAR
|
Loading…
Reference in New Issue