@anyakichi/cdk-rsync-backup 0.5.3 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +7 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -79,6 +79,23 @@ snapshot, then copy the backup data.
|
|
|
79
79
|
|
|
80
80
|
Reading backup data from the backup instance is disabled by default.
|
|
81
81
|
|
|
82
|
+
### Swap file
|
|
83
|
+
|
|
84
|
+
Small instance types (e.g. `t4g.nano`) have limited memory and may
|
|
85
|
+
fail under heavy rsync workloads. You can optionally enable a swap
|
|
86
|
+
file on the instance by specifying `swapSize` in GiB. When set, the
|
|
87
|
+
instance creates `/swapfile` on first boot and registers it in
|
|
88
|
+
`/etc/fstab` for automatic activation on subsequent boots.
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
const rsyncBackup = new RsyncBackup(this, "RsyncBackup", {
|
|
92
|
+
swapSize: 1, // 1 GiB swap file at /swapfile
|
|
93
|
+
modules: [
|
|
94
|
+
/* ... */
|
|
95
|
+
],
|
|
96
|
+
});
|
|
97
|
+
```
|
|
98
|
+
|
|
82
99
|
## Recommended workflow
|
|
83
100
|
|
|
84
101
|
Backup data transfer on Internet is not always reliable. Two-way backup
|
package/lib/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface RsyncBackupProps {
|
|
|
15
15
|
readonly securityGroup?: ec2.ISecurityGroup;
|
|
16
16
|
readonly instanceType?: ec2.InstanceType;
|
|
17
17
|
readonly useEIP?: boolean;
|
|
18
|
+
readonly swapSize?: number;
|
|
18
19
|
readonly logsBucket?: s3.IBucket;
|
|
19
20
|
readonly autoDeleteLogs?: boolean;
|
|
20
21
|
}
|
package/lib/index.js
CHANGED
|
@@ -118,6 +118,12 @@ class RsyncBackup extends constructs_1.Construct {
|
|
|
118
118
|
role,
|
|
119
119
|
});
|
|
120
120
|
instance.userData.addCommands("apt-get update", "apt-get install -y unzip", "snap install aws-cli --classic");
|
|
121
|
+
if (props.swapSize !== undefined) {
|
|
122
|
+
if (props.swapSize <= 0 || !Number.isInteger(props.swapSize)) {
|
|
123
|
+
throw new Error("swapSize must be a positive integer");
|
|
124
|
+
}
|
|
125
|
+
instance.userData.addCommands(`fallocate -l ${props.swapSize}G /swapfile`, "chmod 600 /swapfile", "mkswap /swapfile", "swapon /swapfile", "echo '/swapfile none swap defaults 0 0' >> /etc/fstab");
|
|
126
|
+
}
|
|
121
127
|
if (props.useEIP) {
|
|
122
128
|
instance.userData.addCommands(`
|
|
123
129
|
set -euo pipefail
|
|
@@ -183,4 +189,4 @@ systemctl restart ssh
|
|
|
183
189
|
}
|
|
184
190
|
}
|
|
185
191
|
exports.RsyncBackup = RsyncBackup;
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFDekMsc0RBQXNEO0FBQ3RELDJDQUF1QztBQUN2Qyw2QkFBNkI7QUFFN0IsdUNBQXdDO0FBd0J4QyxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUl4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQTBCLEVBQUU7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUFJLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxNQUFNLFVBQVUsR0FDZCxLQUFLLENBQUMsVUFBVTtZQUNoQixJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtnQkFDaEMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTztnQkFDeEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWM7YUFDeEMsQ0FBQyxDQUFDO1FBRUwsTUFBTSxHQUFHLEdBQ1AsS0FBSyxDQUFDLEdBQUc7WUFDVCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVU7Z0JBQ3JDLFdBQVcsRUFBRSxDQUFDO2dCQUNkLG1CQUFtQixFQUFFO29CQUNuQjt3QkFDRSxJQUFJLEVBQUUsUUFBUTt3QkFDZCxVQUFVLEVBQUUsR0FBRyxDQUFD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QyxJQUFJLE9BQU8sRUFDdkUsd0ZBQXdGLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksV0FBVyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0saUNBQWlDLENBQ3hLLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDM0IsdUVBQXVFLEVBQ3ZFLGlFQUFpRSxFQUNqRSxrR0FBa0csQ0FDbkcsQ0FBQztRQUNKLENBQUM7UUFDRCxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRWxFLElBQUksR0FBMkIsQ0FBQztRQUNoQyxJQUFJLGNBQWlELENBQUM7UUFDdEQsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO2dCQUNoQyxNQUFNLEVBQUUsS0FBSzthQUNkLENBQUMsQ0FBQztZQUNILGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ2pFLFlBQVksRUFBRSxHQUFHLENBQUMsZ0JBQWdCO2dCQUNsQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7YUFDaEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQWpPRCxrQ0FpT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0ICogYXMgczNhc3NldHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1hc3NldHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IExJQl9WRVJTSU9OIH0gZnJvbSBcIi4vdmVyc2lvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJzeW5jQmFja3VwTW9kdWxlIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzc2hLZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgc2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJzeW5jQmFja3VwUHJvcHMge1xuICByZWFkb25seSBtb2R1bGVzPzogUnN5bmNCYWNrdXBNb2R1bGVbXTtcbiAgcmVhZG9ubHkgbWF4U25hcHNob3RzPzogbnVtYmVyO1xuXG4gIHJlYWRvbmx5IGluc3RhbmNlVmVyc2lvbj86IHN0cmluZztcblxuICByZWFkb25seSBrZXlOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cD86IGVjMi5JU2VjdXJpdHlHcm91cDtcbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlPzogZWMyLkluc3RhbmNlVHlwZTtcbiAgcmVhZG9ubHkgdXNlRUlQPzogYm9vbGVhbjtcblxuICByZWFkb25seSBsb2dzQnVja2V0PzogczMuSUJ1Y2tldDtcbiAgcmVhZG9ubHkgYXV0b0RlbGV0ZUxvZ3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUnN5bmNCYWNrdXAgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nc0J1Y2tldDogczMuSUJ1Y2tldDtcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlOiBlYzIuSUluc3RhbmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSc3luY0JhY2t1cFByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgbWF4U25hcHNob3RzID0gcHJvcHMubWF4U25hcHNob3RzIHx8IDE1O1xuICAgIGlmIChtYXhTbmFwc2hvdHMgPCAwIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKG1heFNuYXBzaG90cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIm1heFNuYXBzaG90cyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlclwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2dzQnVja2V0ID1cbiAgICAgIHByb3BzLmxvZ3NCdWNrZXQgfHxcbiAgICAgIG5ldyBzMy5CdWNrZXQodGhpcywgXCJMb2dzQnVja2V0XCIsIHtcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHByb3BzLmF1dG9EZWxldGVMb2dzLFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB2cGMgPVxuICAgICAgcHJvcHMudnBjIHx8XG4gICAgICBuZXcgY2RrLmF3c19lYzIuVnBjKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgICAgaXBQcm90b2NvbDogZWMyLklwUHJvdG9jb2wuRFVBTF9TVEFDSyxcbiAgICAgICAgbmF0R2F0ZXdheXM6IDAsXG4gICAgICAgIHN1Ym5ldENvbmZpZ3VyYXRpb246IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIlB1YmxpY1wiLFxuICAgICAgICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgIGxldCBzZWN1cml0eUdyb3VwOiBlYzIuSVNlY3VyaXR5R3JvdXA7XG4gICAgaWYgKHByb3BzLnNlY3VyaXR5R3JvdXApIHtcbiAgICAgIHNlY3VyaXR5R3JvdXAgPSBwcm9wcy5zZWN1cml0eUdyb3VwO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZWN1cml0eUdyb3VwID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMsIFwiU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICAgIHZwYyxcbiAgICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBzZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgICBlYzIuUGVlci5hbnlJcHY0KCksXG4gICAgICAgIGVjMi5Qb3J0LnRjcCgyMiksXG4gICAgICAgIFwiQWxsb3cgU1NIIEFjY2Vzc1wiLFxuICAgICAgKTtcbiAgICAgIHNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICAgIGVjMi5QZWVyLmFueUlwdjYoKSxcbiAgICAgICAgZWMyLlBvcnQudGNwKDIyKSxcbiAgICAgICAgXCJBbGxvdyBTU0ggQWNjZXNzXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlVHlwZSA9XG4gICAgICBwcm9wcy5pbnN0YW5jZVR5cGUgfHxcbiAgICAgIGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuVDRHLCBlYzIuSW5zdGFuY2VTaXplLk5BTk8pO1xuXG4gICAgY29uc3QgYXJjaCA9XG4gICAgICBpbnN0YW5jZVR5cGUuYXJjaGl0ZWN0dXJlID09IGVjMi5JbnN0YW5jZUFyY2hpdGVjdHVyZS5BUk1fNjRcbiAgICAgICAgPyBcImFybTY0XCJcbiAgICAgICAgOiBcImFtZDY0XCI7XG4gICAgY29uc3QgbWFjaGluZUltYWdlID0gZWMyLk1hY2hpbmVJbWFnZS5sb29rdXAoe1xuICAgICAgbmFtZTogYHVidW50dS9pbWFnZXMvaHZtLXNzZC1ncDMvdWJ1bnR1LW5vYmxlLTI0LjA0LSR7YXJjaH0tc2VydmVyLSpgLFxuICAgICAgb3duZXJzOiBbXCIwOTk3MjAxMDk0NzdcIl0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBwb2xpY3kgPSBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIFwiZWMyOkRlc2NyaWJlSW5zdGFuY2VzXCIsXG4gICAgICAgICAgICBcImVjMjpEZXNjcmliZVNuYXBzaG90c1wiLFxuICAgICAgICAgICAgXCJlYzI6RGVzY3JpYmVWb2x1bWVzXCIsXG4gICAgICAgICAgICBcImVjMjpEZXNjcmliZVZvbHVtZVN0YXR1c1wiLFxuICAgICAgICAgICAgXCJlYzI6QXR0YWNoVm9sdW1lXCIsXG4gICAgICAgICAgICBcImVjMjpEZXRhY2hWb2x1bWVcIixcbiAgICAgICAgICAgIFwiZWMyOkNyZWF0ZVZvbHVtZVwiLFxuICAgICAgICAgICAgXCJlYzI6RGVsZXRlVm9sdW1lXCIsXG4gICAgICAgICAgICBcImVjMjpDcmVhdGVTbmFwc2hvdFwiLFxuICAgICAgICAgICAgXCJlYzI6RGVsZXRlU25hcHNob3RcIixcbiAgICAgICAgICAgIFwiZWMyOkNyZWF0ZVRhZ3NcIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzMzpQdXRPYmplY3RcIiwgXCJzMzpQdXRPYmplY3RBY2xcIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbbG9nc0J1Y2tldC5idWNrZXRBcm4sIGxvZ3NCdWNrZXQuYnVja2V0QXJuICsgXCIvKlwiXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcInNzbTpHZXRQYXJhbWV0ZXJcIixcbiAgICAgICAgICAgIFwic3NtOlB1dFBhcmFtZXRlclwiLFxuICAgICAgICAgICAgXCJzc206QWRkVGFnc1RvUmVzb3VyY2VcIixcbiAgICAgICAgICAgIFwic3NtOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VcIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgYGFybjphd3M6c3NtOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTpwYXJhbWV0ZXIvZWMyL2hvc3RrZXlzL3JzeW5jLWJhY2t1cC8qYCxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiSW5zdGFuY2VSb2xlXCIsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiZWMyLmFtYXpvbmF3cy5jb21cIiksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFxuICAgICAgICAgIFwiQW1hem9uU1NNTWFuYWdlZEluc3RhbmNlQ29yZVwiLFxuICAgICAgICApLFxuICAgICAgXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIHJzeW5jQmFja3VwOiBwb2xpY3ksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qga2V5UGFpciA9IG5ldyBlYzIuS2V5UGFpcih0aGlzLCBcIktleVBhaXJcIiwge1xuICAgICAga2V5UGFpck5hbWU6IFwicnN5bmMtYmFja3VwLWtleXBhaXJcIixcbiAgICB9KTtcbiAgICBrZXlQYWlyLmFwcGx5UmVtb3ZhbFBvbGljeShjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuICAgIGxldCBpbnN0YW5jZUlkID0gYEluc3RhbmNlLSR7TElCX1ZFUlNJT04ucmVwbGFjZSgvXFwuXFxkKyQvLCBcIlwiKX1gO1xuICAgIGlmIChwcm9wcy5pbnN0YW5jZVZlcnNpb24pIHtcbiAgICAgIGluc3RhbmNlSWQgKz0gYC0ke3Byb3BzLmluc3RhbmNlVmVyc2lvbn1gO1xuICAgIH1cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBlYzIuSW5zdGFuY2UodGhpcywgaW5zdGFuY2VJZCwge1xuICAgICAgaW5zdGFuY2VOYW1lOiBcInJzeW5jLWJhY2t1cFwiLFxuICAgICAga2V5UGFpcixcbiAgICAgIHZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDLFxuICAgICAgfSxcbiAgICAgIHNlY3VyaXR5R3JvdXAsXG4gICAgICBpbnN0YW5jZVR5cGUsXG4gICAgICBtYWNoaW5lSW1hZ2UsXG4gICAgICByb2xlLFxuICAgIH0pO1xuXG4gICAgaW5zdGFuY2UudXNlckRhdGEuYWRkQ29tbWFuZHMoXG4gICAgICBcImFwdC1nZXQgdXBkYXRlXCIsXG4gICAgICBcImFwdC1nZXQgaW5zdGFsbCAteSB1bnppcFwiLFxuICAgICAgXCJzbmFwIGluc3RhbGwgYXdzLWNsaSAtLWNsYXNzaWNcIixcbiAgICApO1xuXG4gICAgaWYgKHByb3BzLnVzZUVJUCkge1xuICAgICAgaW5zdGFuY2UudXNlckRhdGEuYWRkQ29tbWFuZHMoXG4gICAgICAgIGBcbnNldCAtZXVvIHBpcGVmYWlsXG5cbkJBU0U9XCIvZWMyL2hvc3RrZXlzL3JzeW5jLWJhY2t1cFwiXG5SRUdJT049XCIke2Nkay5Bd3MuUkVHSU9OfVwiXG5cbmZldGNoX3BhcmFtKCkgeyBhd3Mgc3NtIGdldC1wYXJhbWV0ZXIgLS1yZWdpb24gXCIkUkVHSU9OXCIgLS13aXRoLWRlY3J5cHRpb24gLS1uYW1lIFwiJDFcIiAtLXF1ZXJ5ICdQYXJhbWV0ZXIuVmFsdWUnIC0tb3V0cHV0IHRleHQgMj4vZGV2L251bGwgfHwgdHJ1ZTsgfVxucHV0X3BhcmFtKCkgeyBhd3Mgc3NtIHB1dC1wYXJhbWV0ZXIgLS1yZWdpb24gXCIkUkVHSU9OXCIgLS1vdmVyd3JpdGUgLS10eXBlIFNlY3VyZVN0cmluZyAgLS1uYW1lIFwiJDFcIiAtLXZhbHVlIFwiJDJcIiA+L2Rldi9udWxsOyB9XG5cbmZvciBrZXkgaW4gL2V0Yy9zc2gvc3NoX2hvc3RfKl9rZXk7IGRvXG4gIGJhc2U9XCIkKGJhc2VuYW1lIFwiJGtleVwiKVwiXG4gIHZhbD1cIiQoZmV0Y2hfcGFyYW0gXCIkQkFTRS8kYmFzZVwiKVwiXG4gIHB1Yj1cIiQoZmV0Y2hfcGFyYW0gXCIkQkFTRS8kYmFzZS5wdWJcIilcIlxuICBpZiBbIC1uIFwiJHZhbFwiIF0gJiYgWyAtbiBcIiRwdWJcIiBdOyB0aGVuXG4gICAgZWNobyBcIiR2YWxcIiA+IFwiJGtleVwiXG4gICAgZWNobyBcIiRwdWJcIiA+IFwiJGtleS5wdWJcIlxuICBlbHNlXG4gICAgcHV0X3BhcmFtIFwiJEJBU0UvJGJhc2VcIiBcIiQoY2F0IFwiJGtleVwiKVwiXG4gICAgcHV0X3BhcmFtIFwiJEJBU0UvJGJhc2UucHViXCIgXCIkKGNhdCBcIiRrZXkucHViXCIpXCJcbiAgZmlcbmRvbmVcblxuc3lzdGVtY3RsIGRhZW1vbi1yZWxvYWRcbnN5c3RlbWN0bCByZXN0YXJ0IHNzaFxuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcnN5bmNfYmFja3VwX3NoID0gbmV3IHMzYXNzZXRzLkFzc2V0KHRoaXMsIFwiUnN5bmNCYWNrdXBTaFwiLCB7XG4gICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uL2Fzc2V0c1wiKSxcbiAgICB9KTtcbiAgICByc3luY19iYWNrdXBfc2guZ3JhbnRSZWFkKGluc3RhbmNlKTtcbiAgICBjb25zdCBhc3NldF9wYXRoID0gaW5zdGFuY2UudXNlckRhdGEuYWRkUzNEb3dubG9hZENvbW1hbmQoe1xuICAgICAgYnVja2V0OiByc3luY19iYWNrdXBfc2guYnVja2V0LFxuICAgICAgYnVja2V0S2V5OiByc3luY19iYWNrdXBfc2guczNPYmplY3RLZXksXG4gICAgfSk7XG5cbiAgICBpbnN0YW5jZS51c2VyRGF0YS5hZGRDb21tYW5kcyhcbiAgICAgIGB1bnppcCAke2Fzc2V0X3BhdGh9IC1kIC9zcnYvcnN5bmMtYmFja3VwYCxcbiAgICAgIGBybSAke2Fzc2V0X3BhdGh9YCxcbiAgICAgIFwibXYgL3Nydi9yc3luYy1iYWNrdXAvcnN5bmMtYmFja3VwLnNoIC91c3IvbG9jYWwvYmluL3JzeW5jLWJhY2t1cFwiLFxuICAgICAgYGVjaG8gTUFYX1NOQVBTSE9UUz0ke21heFNuYXBzaG90c30gPj4gL2V0Yy9lbnZpcm9ubWVudGAsXG4gICAgICBgZWNobyBTM19MT0dTX0JVQ0tFVD0ke2xvZ3NCdWNrZXQuYnVja2V0TmFtZX0gPj4gL2V0Yy9lbnZpcm9ubWVudGAsXG4gICAgKTtcblxuICAgIGlmIChwcm9wcy5tb2R1bGVzKSB7XG4gICAgICBmb3IgKGNvbnN0IFtpLCBtXSBvZiBwcm9wcy5tb2R1bGVzLmVudHJpZXMoKSkge1xuICAgICAgICBpZiAobS5zaXplIDwgMCB8fCAhTnVtYmVyLmlzSW50ZWdlcihtLnNpemUpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwibW9kdWxlIHNpemUgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXJcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGV2aWNlID0gU3RyaW5nLmZyb21DaGFyQ29kZShcImZcIi5jaGFyQ29kZUF0KDApICsgaSk7XG4gICAgICAgIGluc3RhbmNlLnVzZXJEYXRhLmFkZENvbW1hbmRzKFxuICAgICAgICAgIGBjcCAvc3J2L3JzeW5jLWJhY2t1cC9yc3luY2QuY29uZiAvc3J2L3JzeW5jLWJhY2t1cC9yc3luY2QuJHttLm5hbWV9LmNvbmZgLFxuICAgICAgICAgIGBzZWQgLWkgJ3MvQGhvc3RALyR7bS5uYW1lfS9nJyAvc3J2L3JzeW5jLWJhY2t1cC9yc3luY2QuJHttLm5hbWV9LmNvbmZgLFxuICAgICAgICAgIGBlY2hvICduby1wb3J0LWZvcndhcmRpbmcsbm8tYWdlbnQtZm9yd2FyZGluZyxuby1YMTEtZm9yd2FyZGluZyxjb21tYW5kPVwicnN5bmMtYmFja3VwICR7bS5uYW1lfSAke20uc2l6ZX0gL2Rldi9zZCR7ZGV2aWNlfVwiICR7bS5zc2hLZXl9JyA+PiAvcm9vdC8uc3NoL2F1dGhvcml6ZWRfa2V5c2AsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGluc3RhbmNlLnVzZXJEYXRhLmFkZENvbW1hbmRzKFxuICAgICAgICBcImNwIC9zcnYvcnN5bmMtYmFja3VwL3JzeW5jZC5jb25mIC9zcnYvcnN5bmMtYmFja3VwL3JzeW5jZC5iYWNrdXAuY29uZlwiLFxuICAgICAgICBcInNlZCAtaSAncy9AaG9zdEAvYmFja3VwL2cnIC9zcnYvcnN5bmMtYmFja3VwL3JzeW5jZC5iYWNrdXAuY29uZlwiLFxuICAgICAgICBgc2VkIC1pICdzfGNvbW1hbmQ9XCIuKlwiIHxjb21tYW5kPVwicnN5bmMtYmFja3VwIGJhY2t1cCAxMDAgL2Rldi9zZGZcIiB8JyAvcm9vdC8uc3NoL2F1dGhvcml6ZWRfa2V5c2AsXG4gICAgICApO1xuICAgIH1cbiAgICBpbnN0YW5jZS51c2VyRGF0YS5hZGRDb21tYW5kcyhcInJtIC9zcnYvcnN5bmMtYmFja3VwL3JzeW5jZC5jb25mXCIpO1xuXG4gICAgbGV0IGVpcDogZWMyLkNmbkVJUCB8IHVuZGVmaW5lZDtcbiAgICBsZXQgZUlQQXNzb2NpYXRpb246IGVjMi5DZm5FSVBBc3NvY2lhdGlvbiB8IHVuZGVmaW5lZDtcbiAgICBpZiAocHJvcHMudXNlRUlQKSB7XG4gICAgICBlaXAgPSBuZXcgZWMyLkNmbkVJUCh0aGlzLCBcIkVJUFwiLCB7XG4gICAgICAgIGRvbWFpbjogXCJ2cGNcIixcbiAgICAgIH0pO1xuICAgICAgZUlQQXNzb2NpYXRpb24gPSBuZXcgZWMyLkNmbkVJUEFzc29jaWF0aW9uKHRoaXMsIFwiRUlQQXNzb2NpYXRpb25cIiwge1xuICAgICAgICBhbGxvY2F0aW9uSWQ6IGVpcC5hdHRyQWxsb2NhdGlvbklkLFxuICAgICAgICBpbnN0YW5jZUlkOiBpbnN0YW5jZS5pbnN0YW5jZUlkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dzQnVja2V0ID0gbG9nc0J1Y2tldDtcbiAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gIH1cbn1cbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFDekMsc0RBQXNEO0FBQ3RELDJDQUF1QztBQUN2Qyw2QkFBNkI7QUFFN0IsdUNBQXdDO0FBeUJ4QyxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUl4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQTBCLEVBQUU7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUFJLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxNQUFNLFVBQVUsR0FDZCxLQUFLLENBQUMsVUFBVTtZQUNoQixJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtnQkFDaEMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTztnQkFDeEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWM7YUFDeEMsQ0FBQyxDQUFDO1FBRUwsTUFBTSxHQUFHLEdBQ1AsS0FBSyxDQUFDLEdBQUc7WUFDVCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVU7Z0JBQ3JDLFdBQVcsRUFBRSxDQUFDO2dCQUNkLG1CQUFtQixFQUFFO29CQUNuQjt3QkFDRSxJQUFJLEVBQUUsUUFBUTt3QkFDZCxVQUFVLEVBQUUsR0FBRyxDQUFD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RUFBRSxRQUFRLENBQUMsVUFBVTthQUNoQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBOU9ELGtDQThPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgKiBhcyBzM2Fzc2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgTElCX1ZFUlNJT04gfSBmcm9tIFwiLi92ZXJzaW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnN5bmNCYWNrdXBNb2R1bGUge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNzaEtleTogc3RyaW5nO1xuICByZWFkb25seSBzaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnN5bmNCYWNrdXBQcm9wcyB7XG4gIHJlYWRvbmx5IG1vZHVsZXM/OiBSc3luY0JhY2t1cE1vZHVsZVtdO1xuICByZWFkb25seSBtYXhTbmFwc2hvdHM/OiBudW1iZXI7XG5cbiAgcmVhZG9ubHkgaW5zdGFuY2VWZXJzaW9uPzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGtleU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwPzogZWMyLklTZWN1cml0eUdyb3VwO1xuICByZWFkb25seSBpbnN0YW5jZVR5cGU/OiBlYzIuSW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB1c2VFSVA/OiBib29sZWFuO1xuICByZWFkb25seSBzd2FwU2l6ZT86IG51bWJlcjtcblxuICByZWFkb25seSBsb2dzQnVja2V0PzogczMuSUJ1Y2tldDtcbiAgcmVhZG9ubHkgYXV0b0RlbGV0ZUxvZ3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUnN5bmNCYWNrdXAgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nc0J1Y2tldDogczMuSUJ1Y2tldDtcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlOiBlYzIuSUluc3RhbmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSc3luY0JhY2t1cFByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgbWF4U25hcHNob3RzID0gcHJvcHMubWF4U25hcHNob3RzIHx8IDE1O1xuICAgIGlmIChtYXhTbmFwc2hvdHMgPCAwIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKG1heFNuYXBzaG90cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIm1heFNuYXBzaG90cyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlclwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2dzQnVja2V0ID1cbiAgICAgIHByb3BzLmxvZ3NCdWNrZXQgfHxcbiAgICAgIG5ldyBzMy5CdWNrZXQodGhpcywgXCJMb2dzQnVja2V0XCIsIHtcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHByb3BzLmF1dG9EZWxldGVMb2dzLFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB2cGMgPVxuICAgICAgcHJvcHMudnBjIHx8XG4gICAgICBuZXcgY2RrLmF3c19lYzIuVnBjKHRoaXMsIFwiVnBjXCIsIHtcbiAgICAgICAgaXBQcm90b2NvbDogZWMyLklwUHJvdG9jb2wuRFVBTF9TVEFDSyxcbiAgICAgICAgbmF0R2F0ZXdheXM6IDAsXG4gICAgICAgIHN1Ym5ldENvbmZpZ3VyYXRpb246IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIlB1YmxpY1wiLFxuICAgICAgICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgIGxldCBzZWN1cml0eUdyb3VwOiBlYzIuSVNlY3VyaXR5R3JvdXA7XG4gICAgaWYgKHByb3BzLnNlY3VyaXR5R3JvdXApIHtcbiAgICAgIHNlY3VyaXR5R3JvdXAgPSBwcm9wcy5zZWN1cml0eUdyb3VwO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZWN1cml0eUdyb3VwID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMsIFwiU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICAgIHZwYyxcbiAgICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBzZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgICBlYzIuUGVlci5hbnlJcHY0KCksXG4gICAgICAgIGVjMi5Qb3J0LnRjcCgyMiksXG4gICAgICAgIFwiQWxsb3cgU1NIIEFjY2Vzc1wiLFxuICAgICAgKTtcbiAgICAgIHNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICAgIGVjMi5QZWVyLmFueUlwdjYoKSxcbiAgICAgICAgZWMyLlBvcnQudGNwKDIyKSxcbiAgICAgICAgXCJBbGxvdyBTU0ggQWNjZXNzXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlVHlwZSA9XG4gICAgICBwcm9wcy5pbnN0YW5jZVR5cGUgfHxcbiAgICAgIGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuVDRHLCBlYzIuSW5zdGFuY2VTaXplLk5BTk8pO1xuXG4gICAgY29uc3QgYXJjaCA9XG4gICAgICBpbnN0YW5jZVR5cGUuYXJjaGl0ZWN0dXJlID09IGVjMi5JbnN0YW5jZUFyY2hpdGVjdHVyZS5BUk1fNjRcbiAgICAgICAgPyBcImFybTY0XCJcbiAgICAgICAgOiBcImFtZDY0XCI7XG4gICAgY29uc3QgbWFjaGluZUltYWdlID0gZWMyLk1hY2hpbmVJbWFnZS5sb29rdXAoe1xuICAgICAgbmFtZTogYHVidW50dS9pbWFnZXMvaHZtLXNzZC1ncDMvdWJ1bnR1LW5vYmxlLTI0LjA0LSR7YXJjaH0tc2VydmVyLSpgLFxuICAgICAgb3duZXJzOiBbXCIwOTk3MjAxMDk0NzdcIl0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBwb2xpY3kgPSBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIFwiZWMyOkRlc2NyaWJlSW5zdGFuY2VzXCIsXG4gICAgICAgICAgICBcImVjMjpEZXNjcmliZVNuYXBzaG90c1wiLFxuICAgICAgICAgICAgXCJlYzI6RGVzY3JpYmVWb2x1bWVzXCIsXG4gICAgICAgICAgICBcImVjMjpEZXNjcmliZVZvbHVtZVN0YXR1c1wiLFxuICAgICAgICAgICAgXCJlYzI6QXR0YWNoVm9sdW1lXCIsXG4gICAgICAgICAgICBcImVjMjpEZXRhY2hWb2x1bWVcIixcbiAgICAgICAgICAgIFwiZWMyOkNyZWF0ZVZvbHVtZVwiLFxuICAgICAgICAgICAgXCJlYzI6RGVsZXRlVm9sdW1lXCIsXG4gICAgICAgICAgICBcImVjMjpDcmVhdGVTbmFwc2hvdFwiLFxuICAgICAgICAgICAgXCJlYzI6RGVsZXRlU25hcHNob3RcIixcbiAgICAgICAgICAgIFwiZWMyOkNyZWF0ZVRhZ3NcIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzMzpQdXRPYmplY3RcIiwgXCJzMzpQdXRPYmplY3RBY2xcIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbbG9nc0J1Y2tldC5idWNrZXRBcm4sIGxvZ3NCdWNrZXQuYnVja2V0QXJuICsgXCIvKlwiXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcInNzbTpHZXRQYXJhbWV0ZXJcIixcbiAgICAgICAgICAgIFwic3NtOlB1dFBhcmFtZXRlclwiLFxuICAgICAgICAgICAgXCJzc206QWRkVGFnc1RvUmVzb3VyY2VcIixcbiAgICAgICAgICAgIFwic3NtOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VcIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgYGFybjphd3M6c3NtOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTpwYXJhbWV0ZXIvZWMyL2hvc3RrZXlzL3JzeW5jLWJhY2t1cC8qYCxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiSW5zdGFuY2VSb2xlXCIsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiZWMyLmFtYXpvbmF3cy5jb21cIiksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFxuICAgICAgICAgIFwiQW1hem9uU1NNTWFuYWdlZEluc3RhbmNlQ29yZVwiLFxuICAgICAgICApLFxuICAgICAgXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIHJzeW5jQmFja3VwOiBwb2xpY3ksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qga2V5UGFpciA9IG5ldyBlYzIuS2V5UGFpcih0aGlzLCBcIktleVBhaXJcIiwge1xuICAgICAga2V5UGFpck5hbWU6IFwicnN5bmMtYmFja3VwLWtleXBhaXJcIixcbiAgICB9KTtcbiAgICBrZXlQYWlyLmFwcGx5UmVtb3ZhbFBvbGljeShjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuICAgIGxldCBpbnN0YW5jZUlkID0gYEluc3RhbmNlLSR7TElCX1ZFUlNJT04ucmVwbGFjZSgvXFwuXFxkKyQvLCBcIlwiKX1gO1xuICAgIGlmIChwcm9wcy5pbnN0YW5jZVZlcnNpb24pIHtcbiAgICAgIGluc3RhbmNlSWQgKz0gYC0ke3Byb3BzLmluc3RhbmNlVmVyc2lvbn1gO1xuICAgIH1cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBlYzIuSW5zdGFuY2UodGhpcywgaW5zdGFuY2VJZCwge1xuICAgICAgaW5zdGFuY2VOYW1lOiBcInJzeW5jLWJhY2t1cFwiLFxuICAgICAga2V5UGFpcixcbiAgICAgIHZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDLFxuICAgICAgfSxcbiAgICAgIHNlY3VyaXR5R3JvdXAsXG4gICAgICBpbnN0YW5jZVR5cGUsXG4gICAgICBtYWNoaW5lSW1hZ2UsXG4gICAgICByb2xlLFxuICAgIH0pO1xuXG4gICAgaW5zdGFuY2UudXNlckRhdGEuYWRkQ29tbWFuZHMoXG4gICAgICBcImFwdC1nZXQgdXBkYXRlXCIsXG4gICAgICBcImFwdC1nZXQgaW5zdGFsbCAteSB1bnppcFwiLFxuICAgICAgXCJzbmFwIGluc3RhbGwgYXdzLWNsaSAtLWNsYXNzaWNcIixcbiAgICApO1xuXG4gICAgaWYgKHByb3BzLnN3YXBTaXplICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChwcm9wcy5zd2FwU2l6ZSA8PSAwIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKHByb3BzLnN3YXBTaXplKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJzd2FwU2l6ZSBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlclwiKTtcbiAgICAgIH1cbiAgICAgIGluc3RhbmNlLnVzZXJEYXRhLmFkZENvbW1hbmRzKFxuICAgICAgICBgZmFsbG9jYXRlIC1sICR7cHJvcHMuc3dhcFNpemV9RyAvc3dhcGZpbGVgLFxuICAgICAgICBcImNobW9kIDYwMCAvc3dhcGZpbGVcIixcbiAgICAgICAgXCJta3N3YXAgL3N3YXBmaWxlXCIsXG4gICAgICAgIFwic3dhcG9uIC9zd2FwZmlsZVwiLFxuICAgICAgICBcImVjaG8gJy9zd2FwZmlsZSBub25lIHN3YXAgZGVmYXVsdHMgMCAwJyA+PiAvZXRjL2ZzdGFiXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy51c2VFSVApIHtcbiAgICAgIGluc3RhbmNlLnVzZXJEYXRhLmFkZENvbW1hbmRzKFxuICAgICAgICBgXG5zZXQgLWV1byBwaXBlZmFpbFxuXG5CQVNFPVwiL2VjMi9ob3N0a2V5cy9yc3luYy1iYWNrdXBcIlxuUkVHSU9OPVwiJHtjZGsuQXdzLlJFR0lPTn1cIlxuXG5mZXRjaF9wYXJhbSgpIHsgYXdzIHNzbSBnZXQtcGFyYW1ldGVyIC0tcmVnaW9uIFwiJFJFR0lPTlwiIC0td2l0aC1kZWNyeXB0aW9uIC0tbmFtZSBcIiQxXCIgLS1xdWVyeSAnUGFyYW1ldGVyLlZhbHVlJyAtLW91dHB1dCB0ZXh0IDI+L2Rldi9udWxsIHx8IHRydWU7IH1cbnB1dF9wYXJhbSgpIHsgYXdzIHNzbSBwdXQtcGFyYW1ldGVyIC0tcmVnaW9uIFwiJFJFR0lPTlwiIC0tb3ZlcndyaXRlIC0tdHlwZSBTZWN1cmVTdHJpbmcgIC0tbmFtZSBcIiQxXCIgLS12YWx1ZSBcIiQyXCIgPi9kZXYvbnVsbDsgfVxuXG5mb3Iga2V5IGluIC9ldGMvc3NoL3NzaF9ob3N0Xypfa2V5OyBkb1xuICBiYXNlPVwiJChiYXNlbmFtZSBcIiRrZXlcIilcIlxuICB2YWw9XCIkKGZldGNoX3BhcmFtIFwiJEJBU0UvJGJhc2VcIilcIlxuICBwdWI9XCIkKGZldGNoX3BhcmFtIFwiJEJBU0UvJGJhc2UucHViXCIpXCJcbiAgaWYgWyAtbiBcIiR2YWxcIiBdICYmIFsgLW4gXCIkcHViXCIgXTsgdGhlblxuICAgIGVjaG8gXCIkdmFsXCIgPiBcIiRrZXlcIlxuICAgIGVjaG8gXCIkcHViXCIgPiBcIiRrZXkucHViXCJcbiAgZWxzZVxuICAgIHB1dF9wYXJhbSBcIiRCQVNFLyRiYXNlXCIgXCIkKGNhdCBcIiRrZXlcIilcIlxuICAgIHB1dF9wYXJhbSBcIiRCQVNFLyRiYXNlLnB1YlwiIFwiJChjYXQgXCIka2V5LnB1YlwiKVwiXG4gIGZpXG5kb25lXG5cbnN5c3RlbWN0bCBkYWVtb24tcmVsb2FkXG5zeXN0ZW1jdGwgcmVzdGFydCBzc2hcbmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHJzeW5jX2JhY2t1cF9zaCA9IG5ldyBzM2Fzc2V0cy5Bc3NldCh0aGlzLCBcIlJzeW5jQmFja3VwU2hcIiwge1xuICAgICAgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi9hc3NldHNcIiksXG4gICAgfSk7XG4gICAgcnN5bmNfYmFja3VwX3NoLmdyYW50UmVhZChpbnN0YW5jZSk7XG4gICAgY29uc3QgYXNzZXRfcGF0aCA9IGluc3RhbmNlLnVzZXJEYXRhLmFkZFMzRG93bmxvYWRDb21tYW5kKHtcbiAgICAgIGJ1Y2tldDogcnN5bmNfYmFja3VwX3NoLmJ1Y2tldCxcbiAgICAgIGJ1Y2tldEtleTogcnN5bmNfYmFja3VwX3NoLnMzT2JqZWN0S2V5LFxuICAgIH0pO1xuXG4gICAgaW5zdGFuY2UudXNlckRhdGEuYWRkQ29tbWFuZHMoXG4gICAgICBgdW56aXAgJHthc3NldF9wYXRofSAtZCAvc3J2L3JzeW5jLWJhY2t1cGAsXG4gICAgICBgcm0gJHthc3NldF9wYXRofWAsXG4gICAgICBcIm12IC9zcnYvcnN5bmMtYmFja3VwL3JzeW5jLWJhY2t1cC5zaCAvdXNyL2xvY2FsL2Jpbi9yc3luYy1iYWNrdXBcIixcbiAgICAgIGBlY2hvIE1BWF9TTkFQU0hPVFM9JHttYXhTbmFwc2hvdHN9ID4+IC9ldGMvZW52aXJvbm1lbnRgLFxuICAgICAgYGVjaG8gUzNfTE9HU19CVUNLRVQ9JHtsb2dzQnVja2V0LmJ1Y2tldE5hbWV9ID4+IC9ldGMvZW52aXJvbm1lbnRgLFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMubW9kdWxlcykge1xuICAgICAgZm9yIChjb25zdCBbaSwgbV0gb2YgcHJvcHMubW9kdWxlcy5lbnRyaWVzKCkpIHtcbiAgICAgICAgaWYgKG0uc2l6ZSA8IDAgfHwgIU51bWJlci5pc0ludGVnZXIobS5zaXplKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIm1vZHVsZSBzaXplIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRldmljZSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoXCJmXCIuY2hhckNvZGVBdCgwKSArIGkpO1xuICAgICAgICBpbnN0YW5jZS51c2VyRGF0YS5hZGRDb21tYW5kcyhcbiAgICAgICAgICBgY3AgL3Nydi9yc3luYy1iYWNrdXAvcnN5bmNkLmNvbmYgL3Nydi9yc3luYy1iYWNrdXAvcnN5bmNkLiR7bS5uYW1lfS5jb25mYCxcbiAgICAgICAgICBgc2VkIC1pICdzL0Bob3N0QC8ke20ubmFtZX0vZycgL3Nydi9yc3luYy1iYWNrdXAvcnN5bmNkLiR7bS5uYW1lfS5jb25mYCxcbiAgICAgICAgICBgZWNobyAnbm8tcG9ydC1mb3J3YXJkaW5nLG5vLWFnZW50LWZvcndhcmRpbmcsbm8tWDExLWZvcndhcmRpbmcsY29tbWFuZD1cInJzeW5jLWJhY2t1cCAke20ubmFtZX0gJHttLnNpemV9IC9kZXYvc2Qke2RldmljZX1cIiAke20uc3NoS2V5fScgPj4gL3Jvb3QvLnNzaC9hdXRob3JpemVkX2tleXNgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpbnN0YW5jZS51c2VyRGF0YS5hZGRDb21tYW5kcyhcbiAgICAgICAgXCJjcCAvc3J2L3JzeW5jLWJhY2t1cC9yc3luY2QuY29uZiAvc3J2L3JzeW5jLWJhY2t1cC9yc3luY2QuYmFja3VwLmNvbmZcIixcbiAgICAgICAgXCJzZWQgLWkgJ3MvQGhvc3RAL2JhY2t1cC9nJyAvc3J2L3JzeW5jLWJhY2t1cC9yc3luY2QuYmFja3VwLmNvbmZcIixcbiAgICAgICAgYHNlZCAtaSAnc3xjb21tYW5kPVwiLipcIiB8Y29tbWFuZD1cInJzeW5jLWJhY2t1cCBiYWNrdXAgMTAwIC9kZXYvc2RmXCIgfCcgL3Jvb3QvLnNzaC9hdXRob3JpemVkX2tleXNgLFxuICAgICAgKTtcbiAgICB9XG4gICAgaW5zdGFuY2UudXNlckRhdGEuYWRkQ29tbWFuZHMoXCJybSAvc3J2L3JzeW5jLWJhY2t1cC9yc3luY2QuY29uZlwiKTtcblxuICAgIGxldCBlaXA6IGVjMi5DZm5FSVAgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGVJUEFzc29jaWF0aW9uOiBlYzIuQ2ZuRUlQQXNzb2NpYXRpb24gfCB1bmRlZmluZWQ7XG4gICAgaWYgKHByb3BzLnVzZUVJUCkge1xuICAgICAgZWlwID0gbmV3IGVjMi5DZm5FSVAodGhpcywgXCJFSVBcIiwge1xuICAgICAgICBkb21haW46IFwidnBjXCIsXG4gICAgICB9KTtcbiAgICAgIGVJUEFzc29jaWF0aW9uID0gbmV3IGVjMi5DZm5FSVBBc3NvY2lhdGlvbih0aGlzLCBcIkVJUEFzc29jaWF0aW9uXCIsIHtcbiAgICAgICAgYWxsb2NhdGlvbklkOiBlaXAuYXR0ckFsbG9jYXRpb25JZCxcbiAgICAgICAgaW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubG9nc0J1Y2tldCA9IGxvZ3NCdWNrZXQ7XG4gICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICB9XG59XG4iXX0=
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "0.5.
|
|
1
|
+
export declare const LIB_VERSION = "0.5.4";
|
package/lib/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LIB_VERSION = void 0;
|
|
4
|
-
exports.LIB_VERSION = "0.5.
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
exports.LIB_VERSION = "0.5.4";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxXQUFXLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IExJQl9WRVJTSU9OID0gXCIwLjUuNFwiO1xuIl19
|