textlane 0.2.1 → 0.5.0
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/build/actions/addon/resolve.d.ts +1 -0
- package/build/actions/addon/resolve.js +3 -2
- package/build/actions/libc/detect.d.ts +5 -0
- package/build/actions/libc/detect.js +11 -0
- package/build/actions/run/finish.d.ts +1 -1
- package/build/actions/run/finish.js +7 -3
- package/build/generated/html.d.ts +35 -2
- package/build/generated/html.js +1 -1
- package/build/generated/md.d.ts +64 -3
- package/build/generated/md.js +21 -3
- package/build/generated/nl.d.ts +3 -2
- package/build/generated/nl.js +1 -1
- package/build/index.d.ts +2 -2
- package/build/index.js +6 -1
- package/build/models/addon.d.ts +30 -15
- package/build/models/addon.js +1 -1
- package/build/models/file.d.ts +3 -2
- package/build/models/file.js +1 -1
- package/build/models/plugin.d.ts +7 -0
- package/build/models/plugin.js +1 -1
- package/build/models/processor.d.ts +11 -7
- package/build/models/processor.js +54 -25
- package/build/settings.d.ts +3 -1
- package/build/settings.js +14 -3
- package/package.json +15 -7
- package/skills/textlane-usage/SKILL.md +16 -4
package/build/generated/md.js
CHANGED
|
@@ -39,9 +39,21 @@ export function frontmatter(options) {
|
|
|
39
39
|
return { name: "md.frontmatter" };
|
|
40
40
|
return { name: "md.frontmatter", options };
|
|
41
41
|
}
|
|
42
|
+
/** The `md.cjkFriendly` plugin. */
|
|
43
|
+
export function cjkFriendly() {
|
|
44
|
+
return { name: "md.cjkFriendly" };
|
|
45
|
+
}
|
|
42
46
|
/** The `md.gemoji` plugin. */
|
|
43
|
-
export function gemoji() {
|
|
44
|
-
|
|
47
|
+
export function gemoji(options) {
|
|
48
|
+
if (options === undefined)
|
|
49
|
+
return { name: "md.gemoji" };
|
|
50
|
+
return { name: "md.gemoji", options };
|
|
51
|
+
}
|
|
52
|
+
/** The `md.smartypants` plugin. */
|
|
53
|
+
export function smartypants(options) {
|
|
54
|
+
if (options === undefined)
|
|
55
|
+
return { name: "md.smartypants" };
|
|
56
|
+
return { name: "md.smartypants", options };
|
|
45
57
|
}
|
|
46
58
|
/** The `md.component` plugin. */
|
|
47
59
|
export function component(options) {
|
|
@@ -67,6 +79,12 @@ export function pathRewrite(options) {
|
|
|
67
79
|
return { name: "md.pathRewrite" };
|
|
68
80
|
return { name: "md.pathRewrite", options };
|
|
69
81
|
}
|
|
82
|
+
/** The `md.shiftHeading` plugin. */
|
|
83
|
+
export function shiftHeading(options) {
|
|
84
|
+
if (options === undefined)
|
|
85
|
+
return { name: "md.shiftHeading" };
|
|
86
|
+
return { name: "md.shiftHeading", options };
|
|
87
|
+
}
|
|
70
88
|
/** The `md.strip` plugin. */
|
|
71
89
|
export function strip(options) {
|
|
72
90
|
if (options === undefined)
|
|
@@ -97,4 +115,4 @@ export function toNaturalLanguage(options) {
|
|
|
97
115
|
return { name: "md.toNaturalLanguage" };
|
|
98
116
|
return { name: "md.toNaturalLanguage", options };
|
|
99
117
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9nZW5lcmF0ZWQvbWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFO0FBbVgvRSw2QkFBNkI7QUFDN0IsTUFBTSxVQUFVLEtBQUssQ0FBQyxPQUFzQjtJQUMxQyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQTtJQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUN0QyxDQUFDO0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBMEI7SUFDbEQsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUE7SUFDMUQsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDMUMsQ0FBQztBQUVELDJCQUEyQjtBQUMzQixNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQW9CO0lBQ3RDLElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFBO0lBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3BDLENBQUM7QUFFRCxzQ0FBc0M7QUFDdEMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFBO0FBQ3RDLENBQUM7QUFFRCw0QkFBNEI7QUFDNUIsTUFBTSxVQUFVLElBQUksQ0FBQyxPQUFxQjtJQUN4QyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQTtJQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUNyQyxDQUFDO0FBRUQsMkJBQTJCO0FBQzNCLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBb0I7SUFDdEMsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUE7SUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDcEMsQ0FBQztBQUVELG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTRCO0lBQ3RELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUE7SUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sVUFBVSxNQUFNO0lBQ3BCLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUE7QUFDOUIsQ0FBQztBQUVELGlDQUFpQztBQUNqQyxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQTBCO0lBQ2xELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFBO0lBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQzFDLENBQUM7QUFFRCxzQ0FBc0M7QUFDdEMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUErQjtJQUM1RCxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFBO0lBQy9ELE9BQU8sRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDL0MsQ0FBQztBQUVELGlDQUFpQztBQUNqQyxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQTBCO0lBQ2xELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFBO0lBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQzFDLENBQUM7QUFFRCxtQ0FBbUM7QUFDbkMsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUE0QjtJQUN0RCxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFBO0lBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDNUMsQ0FBQztBQUVELDZCQUE2QjtBQUM3QixNQUFNLFVBQVUsS0FBSyxDQUFDLE9BQXNCO0lBQzFDLElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFBO0lBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3RDLENBQUM7QUFFRCwyQkFBMkI7QUFDM0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFvQjtJQUN0QyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQTtJQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUNwQyxDQUFDO0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBMEI7SUFDbEQsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUE7SUFDMUQsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDMUMsQ0FBQztBQUVELDhCQUE4QjtBQUM5QixNQUFNLFVBQVUsTUFBTSxDQUFDLE9BQXVCO0lBQzVDLElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3ZDLENBQUM7QUFFRCx5Q0FBeUM7QUFDekMsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQWtDO0lBQ2xFLElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLENBQUE7SUFDbEUsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR2VuZXJhdGVkIGJ5IGBwbnBtIGdlbmVyYXRlOmJpbmRpbmdzYCBmcm9tIHRoZSBjcmF0ZSdzIHBsdWdpbnM7IGRvIG5vdCBlZGl0LlxuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gXCIuLi9tb2RlbHMvcGx1Z2luLnRzXCJcblxuLyoqIGBtZC5wYXJzZWA6IE1hcmtkb3duIGludG8gbWRhc3QuICovXG5leHBvcnQgdHlwZSBQYXJzZU9wdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG4vKiogYG1kLmRpcmVjdGl2ZWA6IGdlbmVyaWMgZGlyZWN0aXZlcywgYDphYCwgYDo6YmAgYW5kIGA6OjpjYCwgcmVhZCBieSBgbWQucGFyc2VgIGFuZCB3cml0dGVuIGJ5IGBtZC5zdHJpbmdpZnlgOyBvcHRpb25zIG5hbWVkIGFzIG1kYXN0LXV0aWwtZGlyZWN0aXZlJ3Mgc2VyaWFsaXplciBuYW1lcyB0aGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RpdmVPcHRpb25zIHtcbiAgLyoqIFdyaXRlIGFuIGVtcHR5IGF0dHJpYnV0ZSBhcyBpdHMgbmFtZSBhbG9uZSwgYHthfWAsIHJhdGhlciB0aGFuIGB7YT1cIlwifWAuIEBkZWZhdWx0IHRydWUgKi9cbiAgY29sbGFwc2VFbXB0eUF0dHJpYnV0ZXM/OiBib29sZWFuXG4gIC8qKiBXcml0ZSBgaWRgIGFuZCBgY2xhc3NgIGFzIGAjYWAgYW5kIGAuYmAgd2hlcmUgdGhleSBjYW4gYmUuIEBkZWZhdWx0IHRydWUgKi9cbiAgcHJlZmVyU2hvcnRjdXQ/OiBib29sZWFuXG4gIC8qKiBMZWF2ZSBhdHRyaWJ1dGUgdmFsdWVzIHVucXVvdGVkIHdoZXJlIHRoZXkgY2FuIGJlLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBwcmVmZXJVbnF1b3RlZD86IGJvb2xlYW5cbiAgLyoqIFRoZSBxdW90ZSBvZiBhdHRyaWJ1dGUgdmFsdWVzOiBgXCJgIG9yIGAnYDsgYG1kLnN0cmluZ2lmeWAncyBgcXVvdGVgIHdoZW4gdW5zZXQuICovXG4gIHF1b3RlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVXNlIHRoZSBvdGhlciBxdW90ZSB3aGVuIHRoZSBwcmVmZXJyZWQgb25lIG9jY3VycyBtb3JlIG9mdGVuIGluIGEgdmFsdWUuIEBkZWZhdWx0IGZhbHNlICovXG4gIHF1b3RlU21hcnQ/OiBib29sZWFuXG59XG5cbi8qKiBgbWQuZ2ZtYDogR2l0SHViIEZsYXZvcmVkIE1hcmtkb3duJ3Mgc3ludGF4LCByZWFkIGJ5IGBtZC5wYXJzZWAgYW5kIHdyaXR0ZW4gYnkgYG1kLnN0cmluZ2lmeWA7IG9wdGlvbnMgbmFtZWQgYXMgcmVtYXJrLWdmbSBuYW1lcyB0aGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZm1PcHRpb25zIHtcbiAgLyoqIExldCBvbmUgdGlsZGUsIGB+YX5gLCBmb3JtIHN0cmlrZXRocm91Z2gsIGFzIHdlbGwgYXMgdHdvLiBAZGVmYXVsdCB0cnVlICovXG4gIHNpbmdsZVRpbGRlPzogYm9vbGVhblxuICAvKiogUGFkIHRhYmxlIGNlbGxzIHdpdGggYSBzcGFjZSBvbiBlYWNoIHNpZGUgd2hlbiB3cml0aW5nIE1hcmtkb3duLiBAZGVmYXVsdCB0cnVlICovXG4gIHRhYmxlQ2VsbFBhZGRpbmc/OiBib29sZWFuXG4gIC8qKiBMaW5lIHVwIHRhYmxlIHBpcGVzIHdoZW4gd3JpdGluZyBNYXJrZG93bi4gQGRlZmF1bHQgdHJ1ZSAqL1xuICB0YWJsZVBpcGVBbGlnbj86IGJvb2xlYW5cbiAgLyoqIFdyaXRlIGEgZm9vdG5vdGUgZGVmaW5pdGlvbidzIGZpcnN0IGxpbmUgYmxhbmsgd2hlbiBpdCBob2xkcyBmbG93IGNvbnRlbnQuIEBkZWZhdWx0IGZhbHNlICovXG4gIGZpcnN0TGluZUJsYW5rPzogYm9vbGVhblxufVxuXG4vKiogYG1kLm1hdGhgOiBtYXRoIHN5bnRheCwgYCQkYCBibG9ja3MgYW5kIGAkYCB0ZXh0LCByZWFkIGJ5IGBtZC5wYXJzZWAgYW5kIHdyaXR0ZW4gYnkgYG1kLnN0cmluZ2lmeWA7IG9wdGlvbnMgbmFtZWQgYXMgcmVtYXJrLW1hdGggbmFtZXMgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWF0aE9wdGlvbnMge1xuICAvKiogTGV0IG9uZSBkb2xsYXIsIGAkYSRgLCBmb3JtIG1hdGggaW4gdGV4dCwgYXMgd2VsbCBhcyB0d28uIEBkZWZhdWx0IHRydWUgKi9cbiAgc2luZ2xlRG9sbGFyVGV4dE1hdGg/OiBib29sZWFuXG59XG5cbi8qKiBgbWQubWR4YDogTURYIHN5bnRheCwgSlNYLCBleHByZXNzaW9ucyBhbmQgRVNNLCByZWFkIGJ5IGBtZC5wYXJzZWAgYW5kIHdyaXR0ZW4gYnkgYG1kLnN0cmluZ2lmeWA7IGl0IHR1cm5zIG9mZiBpbmRlbnRlZCBjb2RlLCBhdXRvbGlua3MgYW5kIHJhdyBIVE1MOyBvcHRpb25zIG5hbWVkIGFzIHJlbWFyay1tZHggYW5kIG1kYXN0LXV0aWwtbWR4LWpzeCdzIHNlcmlhbGl6ZXIgbmFtZSB0aGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZHhPcHRpb25zIHtcbiAgLyoqIFRoZSBxdW90ZSBvZiBKU1ggYXR0cmlidXRlIHZhbHVlczogYFwiYCAod2hlbiB1bnNldCkgb3IgYCdgLiAqL1xuICBxdW90ZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFVzZSB0aGUgb3RoZXIgcXVvdGUgd2hlbiB0aGUgcHJlZmVycmVkIG9uZSBvY2N1cnMgbW9yZSBvZnRlbiBpbiBhIHZhbHVlLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBxdW90ZVNtYXJ0PzogYm9vbGVhblxuICAvKiogV3JpdGUgc2VsZi1jbG9zaW5nIHRhZ3Mgd2l0aG91dCBhIHNwYWNlIGJlZm9yZSB0aGUgc2xhc2gsIGA8YS8+YC4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgdGlnaHRTZWxmQ2xvc2luZz86IGJvb2xlYW5cbiAgLyoqIFRoZSB3aWR0aCBwYXN0IHdoaWNoIGEgZmxvdyBlbGVtZW50J3MgYXR0cmlidXRlcyBnbyBvbiBsaW5lcyBvZiB0aGVpciBvd24uICovXG4gIHByaW50V2lkdGg/OiBudW1iZXIgfCBudWxsXG59XG5cbi8qKiBUaGUga2luZHMgb2YgbWF0dGVyIHRvIHJlY29nbml6ZSwgYXMgcmVtYXJrLWZyb250bWF0dGVyIHRha2VzIHRoZW0gKGEgcHJlc2V0LCBhIG1hdHRlciwgb3IgYSBsaXN0IG9mIHRoZW07IGB5YW1sYCB3aGVuIHVuc2V0KSwgb3IgdGV4dGxhbmUncyBvcHRpb25zIG9iamVjdC4gKi9cbmV4cG9ydCB0eXBlIEZyb250bWF0dGVyT3B0aW9ucyA9IFwieWFtbFwiIHwgXCJ0b21sXCIgfCBNYXR0ZXIgfCAoXCJ5YW1sXCIgfCBcInRvbWxcIiB8IE1hdHRlcilbXSB8IEZyb250bWF0dGVyU2V0dGluZ3NcblxuLyoqIE9uZSBraW5kIG9mIGZyb250bWF0dGVyOiB0aGUgbm9kZSBgdHlwZWAgaXQgYmVjb21lcyBhbmQgaXRzIGZlbmNlcywgYSBgbWFya2VyYCByZXBlYXRlZCB0aHJlZSB0aW1lcyBvciBhIHdob2xlIGBmZW5jZWAuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdHRlciB7XG4gIHR5cGU6IHN0cmluZ1xuICBtYXJrZXI/OiBGZW5jZVxuICBmZW5jZT86IEZlbmNlXG4gIGFueXdoZXJlPzogYm9vbGVhblxufVxuXG4vKiogRGlmZmVyZW50IG9wZW5pbmcgYW5kIGNsb3NpbmcgZmVuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZW5jZVBhaXIge1xuICBvcGVuOiBzdHJpbmdcbiAgY2xvc2U6IHN0cmluZ1xufVxuXG4vKiogQSBmZW5jZSwgb3IgaXRzIG9wZW5pbmcgYW5kIGNsb3Npbmcgb25lcy4gKi9cbmV4cG9ydCB0eXBlIEZlbmNlID0gc3RyaW5nIHwgRmVuY2VQYWlyXG5cbi8qKiB0ZXh0bGFuZSdzIG9wdGlvbnM6IHRoZSBtYXR0ZXJzLCBhbmQgd2hhdCB0byBkbyB3aXRoIFlBTUwgZnJvbnRtYXR0ZXIuICovXG5leHBvcnQgaW50ZXJmYWNlIEZyb250bWF0dGVyU2V0dGluZ3Mge1xuICAvKiogVGhlIGtpbmRzIG9mIG1hdHRlciB0byByZWNvZ25pemUsIGFzIHJlbWFyay1mcm9udG1hdHRlciB0YWtlcyB0aGVtOyBgeWFtbGAgd2hlbiB1bnNldC4gKi9cbiAgbWF0dGVycz86IFwieWFtbFwiIHwgXCJ0b21sXCIgfCBNYXR0ZXIgfCAoXCJ5YW1sXCIgfCBcInRvbWxcIiB8IE1hdHRlcilbXVxuICAvKiogUGFyc2UgdGhlIFlBTUwgZnJvbnRtYXR0ZXIgYSBkb2N1bWVudCBzdGFydHMgd2l0aCBpbnRvIGBmaWxlLmRhdGEubWF0dGVyYCwgYHt9YCB3aGVuIHRoZXJlIGlzIG5vbmUsIGFzIHZmaWxlLW1hdHRlciBkb2VzLiAqL1xuICBkYXRhPzogYm9vbGVhblxuICAvKiogUmVtb3ZlIHRoZSBZQU1MIGZyb250bWF0dGVyIGEgZG9jdW1lbnQgc3RhcnRzIHdpdGggZnJvbSB0aGUgdHJlZS4gKi9cbiAgc3RyaXA/OiBib29sZWFuXG59XG5cbi8qKiBgbWQuY29tcG9uZW50YDogZGlyZWN0aXZlcywgR2l0SHViIGFsZXJ0cyBhbmQgb3RoZXIgbm9kZXMgaW50byBNRFggSlNYIGVsZW1lbnRzLCB0aGUgY29tcG9uZW50cyBhbiBNRFggcnVudGltZSByZW5kZXJzLCBieSBkZWNsYXJhdGl2ZSBydWxlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50T3B0aW9ucyB7XG4gIC8qKiBSdWxlcyBmb3IgZGlyZWN0aXZlczsgdGhlIGZpcnN0IHRoYXQgbWF0Y2hlcyBhIGRpcmVjdGl2ZSBjb252ZXJ0cyBpdC4gKi9cbiAgZGlyZWN0aXZlcz86IERpcmVjdGl2ZVJ1bGVbXVxuICAvKiogR2l0SHViIGFsZXJ0cywgYD4gWyFOT1RFXWAsIGludG8gYSBjb21wb25lbnQuICovXG4gIGFsZXJ0cz86IEFsZXJ0UnVsZSB8IG51bGxcbiAgLyoqIE5vZGUgdHlwZXMsIHN1Y2ggYXMgYGRlZkxpc3RgLCBpbnRvIGNvbXBvbmVudHMga2VlcGluZyB0aGVpciBjaGlsZHJlbi4gQGRlZmF1bHQge30gKi9cbiAgbm9kZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIC8qKiBXaGF0IGJlY29tZXMgb2YgYSBkaXJlY3RpdmUgbm8gcnVsZSBjb252ZXJ0cy4gKi9cbiAgdW5rbm93bkRpcmVjdGl2ZXM/OiBVbmtub3duRGlyZWN0aXZlc1xuICAvKiogUnVsZXMgZm9yIGZlbmNlZCBjb2RlOyB0aGUgZmlyc3QgdGhhdCBtYXRjaGVzIGEgYmxvY2sgYXBwbGllcy4gKi9cbiAgY29kZXM/OiBDb2RlUnVsZVtdXG59XG5cbi8qKiBIb3cgYG1kLmNvbXBvbmVudGAgdHVybnMgbWF0Y2hpbmcgZGlyZWN0aXZlcyBpbnRvIG9uZSBjb21wb25lbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdGl2ZVJ1bGUge1xuICAvKiogVGhlIGRpcmVjdGl2ZSdzIG5hbWUsIG9yIHNldmVyYWwuICovXG4gIG5hbWU6IE5hbWVzXG4gIC8qKiBUaGUga2luZCBvZiBkaXJlY3RpdmU6IGB0ZXh0YCwgYGxlYWZgIG9yIGBjb250YWluZXJgOyBhbnkgd2hlbiBsZWZ0IG91dC4gKi9cbiAga2luZD86IERpcmVjdGl2ZUtpbmQgfCBudWxsXG4gIC8qKiBBdHRyaWJ1dGUgdmFsdWVzIHRoZSBkaXJlY3RpdmUgbXVzdCBoYXZlLiBAZGVmYXVsdCB7fSAqL1xuICB3aGVyZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgLyoqIFRoZSBjb21wb25lbnQ6IGEgdGV4dCBlbGVtZW50IGZvciBhIHRleHQgZGlyZWN0aXZlLCBlbHNlIGEgZmxvdyBlbGVtZW50LiAqL1xuICBjb21wb25lbnQ6IHN0cmluZ1xuICAvKiogVGhlIGF0dHJpYnV0ZSB0aGF0IGdldHMgdGhlIGRpcmVjdGl2ZSdzIG5hbWUuICovXG4gIG5hbWVBcz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBhdHRyaWJ1dGUgdGhhdCBnZXRzIHRoZSBsYWJlbCdzIHRleHQ6IGEgY29udGFpbmVyJ3MgbGFiZWwgcGFyYWdyYXBoIG9yIGEgdGV4dCBvciBsZWFmIGRpcmVjdGl2ZSdzIGNvbnRlbnQsIHdoaWNoIGlzIHRoZW4gZHJvcHBlZC4gKi9cbiAgbGFiZWxBcz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBsYWJlbCdzIHRleHQgd2hlbiB0aGVyZSBpcyBub25lLiAqL1xuICBsYWJlbERlZmF1bHQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYXR0cmlidXRlcyB0byBrZWVwLCBpbiBvcmRlcjsgZXZlcnkgb25lLCBhcyB3cml0dGVuLCB3aGVuIGxlZnQgb3V0LiAqL1xuICBhdHRyaWJ1dGVzPzogQXR0cmlidXRlUnVsZVtdIHwgbnVsbFxuICAvKiogQXR0cmlidXRlcyB3aXRob3V0IHdoaWNoIHRoZSBkaXJlY3RpdmUgaXMgbGVmdCB0byBgdW5rbm93bkRpcmVjdGl2ZXNgLiBAZGVmYXVsdCBbXSAqL1xuICByZXF1aXJlZD86IHN0cmluZ1tdXG4gIC8qKiBXcmFwIHJ1bnMgb2YgYWRqYWNlbnQgc2libGluZ3MgdGhpcyBydWxlIGNvbnZlcnRlZCBpbiBhbm90aGVyIGNvbXBvbmVudC4gKi9cbiAgZ3JvdXA/OiBHcm91cFJ1bGUgfCBudWxsXG4gIC8qKiBUaGUgYXR0cmlidXRlIHRoYXQgZ2V0cyB0aGUgbGlzdHMgb2YgYSBjb250YWluZXIgZGlyZWN0aXZlIGFzIGEgZmlsZSB0cmVlLCBKU09OIGl0ZW1zIGB7bmFtZSwgdHlwZSwgY29tbWVudD8sIGhpZ2hsaWdodGVkPywgY2hpbGRyZW4/fWA7IHRoZSBsaXN0cyBsZWF2ZSBpdHMgY29udGVudC4gKi9cbiAgdHJlZUFzPzogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogT25lIG5hbWUgb3Igc2V2ZXJhbC4gKi9cbmV4cG9ydCB0eXBlIE5hbWVzID0gc3RyaW5nIHwgc3RyaW5nW11cblxuLyoqIEEgZGlyZWN0aXZlJ3Mga2luZCwgYnkgaG93IG1hbnkgY29sb25zIG9wZW4gaXQuICovXG5leHBvcnQgdHlwZSBEaXJlY3RpdmVLaW5kID0gXCJ0ZXh0XCIgfCBcImxlYWZcIiB8IFwiY29udGFpbmVyXCJcblxuLyoqIEFuIGF0dHJpYnV0ZSB0byBrZWVwOiBpdHMgbmFtZSwgb3IgaXRzIG5hbWUgd2l0aCB3aGF0IHRvIGNhbGwgaXQgYW5kIGEgZGVmYXVsdC4gKi9cbmV4cG9ydCB0eXBlIEF0dHJpYnV0ZVJ1bGUgPSBzdHJpbmcgfCB7IG5hbWU6IHN0cmluZzsgcmVuYW1lPzogc3RyaW5nIHwgbnVsbDsgZGVmYXVsdD86IHN0cmluZyB8IG51bGwgfVxuXG4vKiogVGhlIGNvbXBvbmVudCB3cmFwcGluZyBhIHJ1biBvZiBhZGphY2VudCBzaWJsaW5ncyBvbmUgcnVsZSBjb252ZXJ0ZWQuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwUnVsZSB7XG4gIC8qKiBUaGUgd3JhcHBpbmcgY29tcG9uZW50LiAqL1xuICBjb21wb25lbnQ6IHN0cmluZ1xuICAvKiogVGhlIHNob3J0ZXN0IHJ1biB3cmFwcGVkOyAyIHdoZW4gbGVmdCBvdXQuICovXG4gIG1pbj86IG51bWJlciB8IG51bGxcbiAgLyoqIEF0dHJpYnV0ZXMgdGhlIHdyYXBwZXIgY29waWVzIGZyb20gdGhlIHJ1bidzIGZpcnN0IGVsZW1lbnQuIEBkZWZhdWx0IFtdICovXG4gIGluaGVyaXQ/OiBzdHJpbmdbXVxufVxuXG4vKiogSG93IGBtZC5jb21wb25lbnRgIHR1cm5zIEdpdEh1YiBhbGVydHMsIGEgYmxvY2sgcXVvdGUgb3BlbmluZyB3aXRoIGBbIVRZUEVdYCwgaW50byBhIGNvbXBvbmVudC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRSdWxlIHtcbiAgLyoqIFRoZSBjb21wb25lbnQgYW4gYWxlcnQgYmVjb21lcy4gKi9cbiAgY29tcG9uZW50OiBzdHJpbmdcbiAgLyoqIFRoZSBhdHRyaWJ1dGUgdGhhdCBnZXRzIHRoZSBhbGVydCdzIHR5cGUuICovXG4gIHR5cGVBczogc3RyaW5nXG4gIC8qKiBFYWNoIGFsZXJ0IHR5cGUsIGFzIHdyaXR0ZW4sIHRvIHRoZSB2YWx1ZSBvZiBgdHlwZUFzYDsgb3RoZXIgdHlwZXMgc3RheSBibG9jayBxdW90ZXMuICovXG4gIHR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG59XG5cbi8qKiBXaGF0IGBtZC5jb21wb25lbnRgIGRvZXMgd2l0aCBhIGRpcmVjdGl2ZSBubyBydWxlIGNvbnZlcnRzLiAqL1xuZXhwb3J0IHR5cGUgVW5rbm93bkRpcmVjdGl2ZXMgPSBcImtlZXBcIiB8IFwic291cmNlXCJcblxuLyoqIEhvdyBgbWQuY29tcG9uZW50YCB0dXJucyBtYXRjaGluZyBjb2RlIGJsb2NrcyBpbnRvIGEgY29tcG9uZW50LCBvciBncm91cHMgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZVJ1bGUge1xuICAvKiogVGhlIGJsb2NrJ3MgbGFuZ3VhZ2UsIG9yIHNldmVyYWw7IGFueSB3aGVuIGxlZnQgb3V0LiAqL1xuICBsYW5nPzogTmFtZXMgfCBudWxsXG4gIC8qKiBBIGBrZXk9XCJ2YWx1ZVwiYCB0aGUgYmxvY2sncyBtZXRhIG11c3QgaG9sZC4gKi9cbiAgbWV0YT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjb21wb25lbnQgdGhlIGJsb2NrIGJlY29tZXM7IGxlZnQgb3V0LCB0aGUgYmxvY2sgc3RheXMgY29kZSBhbmQgb25seSBncm91cHMuICovXG4gIGNvbXBvbmVudD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBhdHRyaWJ1dGUgdGhhdCBnZXRzIHRoZSBjb2RlOyBsZWZ0IG91dCwgdGhlIGNvZGUgaXMgdGhlIGNvbXBvbmVudCdzIHRleHQuICovXG4gIHZhbHVlQXM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBNZXRhIGBrZXk9XCJ2YWx1ZVwiYCBwYWlycyB0byBrZWVwIGFzIGF0dHJpYnV0ZXMsIGluIG9yZGVyLiAqL1xuICBhdHRyaWJ1dGVzPzogQXR0cmlidXRlUnVsZVtdXG4gIC8qKiBXcmFwIHJ1bnMgb2YgYWRqYWNlbnQgYmxvY2tzIHRoaXMgcnVsZSBtYXRjaGVkIGluIGFub3RoZXIgY29tcG9uZW50LiAqL1xuICBncm91cD86IENvZGVHcm91cFJ1bGUgfCBudWxsXG59XG5cbi8qKiBUaGUgY29tcG9uZW50IHdyYXBwaW5nIGEgcnVuIG9mIGFkamFjZW50IGNvZGUgYmxvY2tzIG9uZSBydWxlIG1hdGNoZWQ7IHRoZSBtZXRhIGtleXMgaXQgcmVhZHMgYXJlIHRha2VuIG91dCBvZiBlYWNoIGJsb2NrJ3MgbWV0YS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUdyb3VwUnVsZSB7XG4gIC8qKiBUaGUgd3JhcHBpbmcgY29tcG9uZW50LiAqL1xuICBjb21wb25lbnQ6IHN0cmluZ1xuICAvKiogVGhlIHNob3J0ZXN0IHJ1biB3cmFwcGVkOyAyIHdoZW4gbGVmdCBvdXQuICovXG4gIG1pbj86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBhdHRyaWJ1dGUgdGhhdCBnZXRzIHRoZSBydW4ncyB2YWx1ZXMgb2YgdGhlIHJ1bGUncyBgbWV0YWAga2V5LCBhcyBhIEpTT04gbGlzdC4gKi9cbiAgY29sbGVjdD86IHN0cmluZyB8IG51bGxcbiAgLyoqIE1ldGEga2V5cyB0aGUgd3JhcHBlciBjb3BpZXMgZnJvbSB0aGUgcnVuJ3MgZmlyc3QgYmxvY2sgYXMgYXR0cmlidXRlcy4gQGRlZmF1bHQgW10gKi9cbiAgaW5oZXJpdD86IHN0cmluZ1tdXG59XG5cbi8qKiBgbWQucGFja2FnZUNvbW1hbmRgOiBhIGZlbmNlZCBibG9jayBvZiBwYWNrYWdlLW1hbmFnZXIgY29tbWFuZHMsIGl0cyBsYW5ndWFnZSBuYW1pbmcgdGhlIGVjb3N5c3RlbSAoYG5wbWAsIGBwaXBgLCBgY2FyZ29gKSwgaW50byBvbmUgY29tcG9uZW50IHdpdGggdGhlIGNvbW1hbmRzIGNvbnZlcnRlZCBmb3IgZWFjaCBtYW5hZ2VyLCBhcyBgQGRvY3VzYXVydXMvcmVtYXJrLXBsdWdpbi1ucG0yeWFybmAgZG9lcyBmb3IgbnBtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlQ29tbWFuZE9wdGlvbnMge1xuICAvKiogVGhlIGNvbXBvbmVudCBhIGJsb2NrIGJlY29tZXM7IG9uZSBzdHJpbmcgYXR0cmlidXRlIHBlciBtYW5hZ2VyLiBAZGVmYXVsdCBcIlBhY2thZ2VUYWJzXCIgKi9cbiAgY29tcG9uZW50Pzogc3RyaW5nXG4gIC8qKiBFYWNoIGVjb3N5c3RlbSdzIG1hbmFnZXJzLCBpbiBhdHRyaWJ1dGUgb3JkZXI7IGFuIGVtcHR5IGxpc3QgbGVhdmVzIGl0cyBibG9ja3MgY29kZS4gKi9cbiAgZWNvc3lzdGVtcz86IEVjb3N5c3RlbXNcbn1cblxuLyoqIFRoZSBtYW5hZ2VycyBgbWQucGFja2FnZUNvbW1hbmRgIGNvbnZlcnRzIGVhY2ggZWNvc3lzdGVtJ3MgY29tbWFuZHMgZm9yLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFY29zeXN0ZW1zIHtcbiAgLyoqIE1hbmFnZXJzIGZvciBgbnBtYCBibG9ja3MsIGNvbnZlcnRlZCBhcyBucG0tdG8teWFybiBjb252ZXJ0czsgbnBtLCBwbnBtLCB5YXJuIGFuZCBidW4gYnkgZGVmYXVsdC4gKi9cbiAgbnBtPzogTnBtTWFuYWdlcltdXG4gIC8qKiBNYW5hZ2VycyBmb3IgYHBpcGAgYmxvY2tzOyBwaXAsIHV2LCBwb2V0cnkgYW5kIHBkbSBieSBkZWZhdWx0LiAqL1xuICBwaXA/OiBQaXBNYW5hZ2VyW11cbiAgLyoqIE1hbmFnZXJzIGZvciBgY2FyZ29gIGJsb2NrczsgY2FyZ28gYW5kIGNhcmdvLWJpbnN0YWxsIGJ5IGRlZmF1bHQuICovXG4gIGNhcmdvPzogQ2FyZ29NYW5hZ2VyW11cbn1cblxuLyoqIEEgSmF2YVNjcmlwdCBwYWNrYWdlIG1hbmFnZXIgYW4gYG5wbWAgY29tbWFuZCBjb252ZXJ0cyB0by4gKi9cbmV4cG9ydCB0eXBlIE5wbU1hbmFnZXIgPSBcIm5wbVwiIHwgXCJwbnBtXCIgfCBcInlhcm5cIiB8IFwiYnVuXCIgfCBcImRlbm9cIiB8IFwibnViXCJcblxuLyoqIEEgUHl0aG9uIHBhY2thZ2UgbWFuYWdlciBhIGBwaXBgIGNvbW1hbmQgY29udmVydHMgdG8uICovXG5leHBvcnQgdHlwZSBQaXBNYW5hZ2VyID0gXCJwaXBcIiB8IFwidXZcIiB8IFwicG9ldHJ5XCIgfCBcInBkbVwiXG5cbi8qKiBBIFJ1c3QgaW5zdGFsbGVyIGEgYGNhcmdvYCBjb21tYW5kIGNvbnZlcnRzIHRvLiAqL1xuZXhwb3J0IHR5cGUgQ2FyZ29NYW5hZ2VyID0gXCJjYXJnb1wiIHwgXCJjYXJnby1iaW5zdGFsbFwiXG5cbi8qKiBgbWQuaGVhZGluZ0lkYDogYHsjaWR9YCBhdCB0aGUgZW5kIG9mIGEgaGVhZGluZywgYWZ0ZXIgYSBzcGFjZSwgYXMgaXRzIGlkLCBhcyByZW1hcmstaGVhZGluZy1pZCByZWFkcyBpdDsgaGVhZGluZ3Mgd2l0aG91dCBvbmUga2VlcCBub25lLiAqL1xuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nSWRPcHRpb25zIHtcbiAgLyoqIFJlYWQgYSB3aG9sZSBhdHRyaWJ1dGUgbGlzdCwgYHsjaWQgLmNsYXNzIGtleT12YWx1ZSBrZXk9XCJ2IHdcIn1gLCBhcyBkaXJlY3RpdmVzIHdyaXRlIHRoZWlyczogY2xhc3NlcyBiZWNvbWUgYGNsYXNzTmFtZWAgYW5kIG90aGVyIGtleXMgcHJvcGVydGllcy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgYXR0cmlidXRlcz86IGJvb2xlYW5cbiAgLyoqIExpdGVyYWwgc3VmZml4ZXMsIHN1Y2ggYXMgYFtzdGVwXWAsIHN0cmlwcGVkIGZyb20gYSBoZWFkaW5nJ3MgZW5kIGZvciB0aGUgYXR0cmlidXRlcyBlYWNoIG5hbWVzLCBhIHZhbHVlIG9yIGB0cnVlYCBmb3IgYSBiYXJlIG9uZTogYHtcIltzdGVwXVwiOiB7XCJkYXRhLXN0ZXBcIjogdHJ1ZX19YC4gKi9cbiAgbWFya2Vycz86IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIE1hcmtlclZhbHVlPj5cbn1cblxuLyoqIEFuIGF0dHJpYnV0ZSBhIGhlYWRpbmcgbWFya2VyIHNldHM6IGl0cyB2YWx1ZSwgb3IgYHRydWVgIGZvciB0aGUgYmFyZSBhdHRyaWJ1dGUuICovXG5leHBvcnQgdHlwZSBNYXJrZXJWYWx1ZSA9IGJvb2xlYW4gfCBzdHJpbmdcblxuLyoqIGBtZC5wYXRoUmV3cml0ZWA6IHRoZSBVUkxzIG9mIGltYWdlcywgbGlua3MgYW5kIGRlZmluaXRpb25zIGFzIGEgc2l0ZSBzZXJ2ZXMgdGhlbTogcmVsYXRpdmUgb25lcyByZXNvbHZlZCBhZ2FpbnN0IHRoZSBmaWxlJ3MgcGF0aCBhbmQgbWFkZSByb290LXJlbGF0aXZlLCBldmVyeSByb290LXJlbGF0aXZlIG9uZSB1bmRlciBgYmFzZWAsIGFuZCBsaW5rcyB0byBNYXJrZG93biBmaWxlcyB0dXJuZWQgaW50byBwYWdlIFVSTHMuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdGhSZXdyaXRlT3B0aW9ucyB7XG4gIC8qKiBUaGUgZGlyZWN0b3J5IFVSTHMgY291bnQgZnJvbSwgYXMgdGhlIGZpbGUncyBwYXRoIHNwZWxscyBpdDsgdGhlIHBhdGgncyBvd24gc3RhcnRpbmcgcG9pbnQgd2hlbiBsZWZ0IG91dC4gKi9cbiAgcm9vdD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBVUkwgdGhlIHNpdGUgaXMgc2VydmVkIGF0LCBzdWNoIGFzIGAvZG9jc2AsIHB1dCBiZWZvcmUgZXZlcnkgcm9vdC1yZWxhdGl2ZSBVUkwgb25jZS4gKi9cbiAgYmFzZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBub2RlcyB3aG9zZSBVUkxzIGFyZSByZXdyaXR0ZW47IGltYWdlcywgbGlua3MgYW5kIGRlZmluaXRpb25zIHdoZW4gbGVmdCBvdXQuICovXG4gIG5vZGVzPzogVXJsTm9kZVtdIHwgbnVsbFxuICAvKiogTWFya2Rvd24gZmlsZXMsIHJlbGF0aXZlIHRvIGByb290YCwgdG8gdGhlIFVSTCBvZiB0aGVpciBwYWdlOyBhIGxpbmsgdG8gb25lIG9mIHRoZW0gdGFrZXMgaXQsIGJlZm9yZSBgbWFya2Rvd25MaW5rc2AgYXBwbGllcy4gQGRlZmF1bHQge30gKi9cbiAgcGFnZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIC8qKiBIb3cgYSBsaW5rIHRvIGEgTWFya2Rvd24gZmlsZSBubyBwYWdlIG5hbWVzIGJlY29tZXMgYSBVUkwuICovXG4gIG1hcmtkb3duTGlua3M/OiBNYXJrZG93bkxpbmtzXG59XG5cbi8qKiBBIG5vZGUgd2l0aCBhIFVSTC4gKi9cbmV4cG9ydCB0eXBlIFVybE5vZGUgPSBcImltYWdlXCIgfCBcImxpbmtcIiB8IFwiZGVmaW5pdGlvblwiXG5cbi8qKiBIb3cgYSBsaW5rIHRvIGEgTWFya2Rvd24gZmlsZSBiZWNvbWVzIGEgVVJMLiAqL1xuZXhwb3J0IHR5cGUgTWFya2Rvd25MaW5rcyA9IFwia2VlcFwiIHwgXCJkaXJlY3RvcnlcIiB8IFwiaHRtbFwiXG5cbi8qKiBgbWQuc3RyaXBgOiBtZGFzdCBkb3duIHRvIGl0cyB0ZXh0LCBhcyBzdHJpcC1tYXJrZG93biBkb2VzOiBjb2RlLCBIVE1MLCB0YWJsZXMgYW5kIHRoZSBsaWtlIGRyb3BwZWQsIGhlYWRpbmdzIG1hZGUgcGFyYWdyYXBocywgZm9ybWF0dGluZyB1bndyYXBwZWQuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmlwT3B0aW9ucyB7XG4gIC8qKiBOb2RlIHR5cGVzIHRvIGxlYXZlIGFzIHRoZXkgYXJlLCBzdWNoIGFzIGBpbmxpbmVDb2RlYC4gQGRlZmF1bHQgW10gKi9cbiAga2VlcD86IHN0cmluZ1tdXG4gIC8qKiBOb2RlIHR5cGVzIHRvIGRyb3AsIGJlc2lkZXMgdGhvc2Ugc3RyaXAtbWFya2Rvd24gZHJvcHMuIEBkZWZhdWx0IFtdICovXG4gIHJlbW92ZT86IHN0cmluZ1tdXG59XG5cbi8qKiBgbWQudG9jYDogYSB0YWJsZSBvZiBjb250ZW50cyB1bmRlciB0aGUgZmlyc3QgaGVhZGluZyBtYXRjaGluZyBgaGVhZGluZ2AsIHJlcGxhY2luZyB3aGF0IHNhdCBiZXR3ZWVuIGl0IGFuZCB0aGUgbmV4dCBoZWFkaW5nIGFzIGRlZXAgb3Igc2hhbGxvd2VyLCBhcyByZW1hcmstdG9jIG1ha2VzIGl0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb2NPcHRpb25zIHtcbiAgLyoqIFRoZSBoZWFkaW5nIHRvIHB1dCB0aGUgdGFibGUgdW5kZXIsIGFzIEphdmFTY3JpcHQgcmVndWxhciBleHByZXNzaW9uIHNvdXJjZSBtYXRjaGVkIGFnYWluc3QgaXRzIHdob2xlIHRleHQsIGNhc2UtaW5zZW5zaXRpdmVseTsgYCh0YWJsZVsgLV1vZlsgLV0pP2NvbnRlbnRzP3x0b2NgIHdoZW4gdW5zZXQuICovXG4gIGhlYWRpbmc/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVlcGVzdCBoZWFkaW5nIHJhbmsgdG8gbGlzdCwgMSB0byA2LiAqL1xuICBtYXhEZXB0aD86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBzaGFsbG93ZXN0IGhlYWRpbmcgcmFuayB0byBsaXN0LCAxIHRvIDYuICovXG4gIG1pbkRlcHRoPzogbnVtYmVyIHwgbnVsbFxuICAvKiogSGVhZGluZ3MgdG8gbGVhdmUgb3V0LCBhcyBKYXZhU2NyaXB0IHJlZ3VsYXIgZXhwcmVzc2lvbiBzb3VyY2UgbWF0Y2hlZCBhZ2FpbnN0IHRoZWlyIHdob2xlIHRleHQsIGNhc2UtaW5zZW5zaXRpdmVseS4gKi9cbiAgc2tpcD86IHN0cmluZyB8IG51bGxcbiAgLyoqIEtlZXAgdGhlIGxpc3QgY29tcGFjdCwgd2l0aG91dCBibGFuayBsaW5lcyBiZXR3ZWVuIGl0ZW1zOyBgdHJ1ZWAgd2hlbiB1bnNldC4gKi9cbiAgdGlnaHQ/OiBib29sZWFuIHwgbnVsbFxuICAvKiogTnVtYmVyIHRoZSBsaXN0IGluc3RlYWQgb2YgYnVsbGV0aW5nIGl0LiAqL1xuICBvcmRlcmVkPzogYm9vbGVhbiB8IG51bGxcbiAgLyoqIFdoYXQgZWFjaCBsaW5rJ3MgZnJhZ21lbnQgc3RhcnRzIHdpdGgsIHN1Y2ggYXMgYHVzZXItY29udGVudC1gLiAqL1xuICBwcmVmaXg/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgcGFyZW50cyB3aG9zZSBoZWFkaW5ncyBhcmUgbGlzdGVkLCBhcyBhIHVuaXN0LXV0aWwtaXMgdGVzdDogYSBub2RlIHR5cGUsIGFuIG9iamVjdCBvZiBmaWVsZHMgYSBwYXJlbnQgbXVzdCBlcXVhbCwgb3IgYSBsaXN0IG9mIHRoZXNlOyBvbmx5IHRoZSByb290IHdoZW4gdW5zZXQuICovXG4gIHBhcmVudHM/OiBQYXJlbnRUZXN0IHwgbnVsbFxufVxuXG4vKiogQSB1bmlzdC11dGlsLWlzIHRlc3Qgb2YgYSBub2RlLCB3cml0dGVuIGFzIEpTT046IG9uZSBjaGVjaywgb3IgYSBsaXN0IGFueSBvZiB3aGljaCBwYXNzZXMuICovXG5leHBvcnQgdHlwZSBQYXJlbnRUZXN0ID0gUGFyZW50Q2hlY2sgfCBQYXJlbnRDaGVja1tdXG5cbi8qKiBPbmUgdW5pc3QtdXRpbC1pcyBjaGVjazogYSBub2RlIHR5cGUsIG9yIGZpZWxkcyBhIG5vZGUgbXVzdCBlcXVhbC4gKi9cbmV4cG9ydCB0eXBlIFBhcmVudENoZWNrID0gc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cblxuLyoqIGBtZC5zdHJpbmdpZnlgOiBtZGFzdCBpbnRvIE1hcmtkb3duOyBvcHRpb25zIG5hbWVkIGFzIG1kYXN0LXV0aWwtdG8tbWFya2Rvd24gbmFtZXMgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5naWZ5T3B0aW9ucyB7XG4gIC8qKiBUaGUgbWFya2VyIG9mIHVub3JkZXJlZCBsaXN0IGl0ZW1zOiBgKmAsIGArYCBvciBgLWAuICovXG4gIGJ1bGxldD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBtYXJrZXIgb2Ygb3JkZXJlZCBsaXN0IGl0ZW1zOiBgLmAgb3IgYClgLiAqL1xuICBidWxsZXRPcmRlcmVkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIG1hcmtlciBvZiBhIGxpc3QgcmlnaHQgYWZ0ZXIgYSBsaXN0IHdpdGggYGJ1bGxldGAuICovXG4gIGJ1bGxldE90aGVyPzogc3RyaW5nIHwgbnVsbFxuICAvKiogQ2xvc2UgQVRYIGhlYWRpbmdzIHdpdGggYXMgbWFueSBgI2AgYXMgdGhleSBvcGVuIHdpdGguIEBkZWZhdWx0IGZhbHNlICovXG4gIGNsb3NlQXR4PzogYm9vbGVhblxuICAvKiogVGhlIG1hcmtlciBvZiBlbXBoYXNpczogYCpgIG9yIGBfYC4gKi9cbiAgZW1waGFzaXM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgbWFya2VyIG9mIGZlbmNlZCBjb2RlOiBgYCBgIGBgIG9yIGB+YC4gKi9cbiAgZmVuY2U/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBGZW5jZSBjb2RlOyBgZmFsc2VgIGluZGVudHMgaXQgd2hlcmUgaXQgY2FuLiBAZGVmYXVsdCB0cnVlICovXG4gIGZlbmNlcz86IGJvb2xlYW5cbiAgLyoqIE51bWJlciBvcmRlcmVkIGxpc3QgaXRlbXMgdXAgZnJvbSBgc3RhcnRgLiBAZGVmYXVsdCB0cnVlICovXG4gIGluY3JlbWVudExpc3RNYXJrZXI/OiBib29sZWFuXG4gIC8qKiBIb3cgbGlzdCBpdGVtIGNvbnRlbnQgaXMgaW5kZW50ZWQ6IGBvbmVgLCBgdGFiYCBvciBgbWl4ZWRgLiAqL1xuICBsaXN0SXRlbUluZGVudD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBtYXJrZXIgb2YgdGl0bGVzOiBgXCJgIG9yIGAnYC4gKi9cbiAgcXVvdGU/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXcml0ZSBsaW5rcyBhcyByZXNvdXJjZXMgZXZlbiB3aGVyZSBhbiBhdXRvbGluayB3b3VsZCBkby4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcmVzb3VyY2VMaW5rPzogYm9vbGVhblxuICAvKiogVGhlIG1hcmtlciBvZiB0aGVtYXRpYyBicmVha3M6IGAqYCwgYC1gIG9yIGBfYC4gKi9cbiAgcnVsZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIEhvdyBtYW55IG1hcmtlcnMgYSB0aGVtYXRpYyBicmVhayBoYXMsIDMgb3IgbW9yZS4gKi9cbiAgcnVsZVJlcGV0aXRpb24/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBQdXQgc3BhY2VzIGJldHdlZW4gdGhlIG1hcmtlcnMgb2YgYSB0aGVtYXRpYyBicmVhay4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcnVsZVNwYWNlcz86IGJvb2xlYW5cbiAgLyoqIFdyaXRlIGhlYWRpbmdzIG9mIHJhbmsgMSBhbmQgMiBhcyBzZXRleHQgaGVhZGluZ3MuIEBkZWZhdWx0IGZhbHNlICovXG4gIHNldGV4dD86IGJvb2xlYW5cbiAgLyoqIFRoZSBtYXJrZXIgb2Ygc3Ryb25nOiBgKmAgb3IgYF9gLiAqL1xuICBzdHJvbmc/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBKb2luIGRlZmluaXRpb25zIHdpdGggbm8gYmxhbmsgbGluZSBiZXR3ZWVuIHRoZW0uIEBkZWZhdWx0IGZhbHNlICovXG4gIHRpZ2h0RGVmaW5pdGlvbnM/OiBib29sZWFuXG4gIC8qKiBFeHRyYSBwYXR0ZXJucyBvZiBjaGFyYWN0ZXJzIHRvIGVzY2FwZS4gKi9cbiAgdW5zYWZlPzogVW5zYWZlUGF0dGVybltdXG59XG5cbi8qKiBBIGNoYXJhY3RlciB0byBlc2NhcGUgd2hlcmUgaXQgd291bGQgb3RoZXJ3aXNlIHN0YXJ0IG9yIGVuZCBzeW50YXguICovXG5leHBvcnQgaW50ZXJmYWNlIFVuc2FmZVBhdHRlcm4ge1xuICAvKiogVGhlIGNoYXJhY3RlciwgZXNjYXBlZCBhcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB3b3VsZCBuZWVkIGl0LiBAZGVmYXVsdCBcIlwiICovXG4gIGNoYXJhY3Rlcj86IHN0cmluZ1xuICAvKiogQSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBtdXN0IG1hdGNoIHJpZ2h0IGJlZm9yZSB0aGUgY2hhcmFjdGVyLiAqL1xuICBiZWZvcmU/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGF0IG11c3QgbWF0Y2ggcmlnaHQgYWZ0ZXIgdGhlIGNoYXJhY3Rlci4gKi9cbiAgYWZ0ZXI/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBPbmx5IGF0IHRoZSBzdGFydCBvZiBhIGxpbmUsIGFmdGVyIGFueSBpbmRlbnQuIEBkZWZhdWx0IGZhbHNlICovXG4gIGF0QnJlYWs/OiBib29sZWFuXG4gIC8qKiBPbmx5IGluc2lkZSBvbmUgb2YgdGhlc2UgY29uc3RydWN0cy4gKi9cbiAgaW5Db25zdHJ1Y3Q/OiBOYW1lcyB8IG51bGxcbiAgLyoqIE5ldmVyIGluc2lkZSBvbmUgb2YgdGhlc2UgY29uc3RydWN0cy4gKi9cbiAgbm90SW5Db25zdHJ1Y3Q/OiBOYW1lcyB8IG51bGxcbiAgLyoqIE9ubHkgYXQgdGhlIHN0YXJ0IG9mIGEgbm9kZSByaWdodCBhZnRlciBvbmUgb2YgdGhlc2Ugbm9kZSB0eXBlcy4gKi9cbiAgYmVmb3JlTm9kZT86IE5hbWVzIHwgbnVsbFxuICAvKiogT25seSBhdCB0aGUgZW5kIG9mIGEgbm9kZSByaWdodCBiZWZvcmUgb25lIG9mIHRoZXNlIG5vZGUgdHlwZXMuICovXG4gIGFmdGVyTm9kZT86IE5hbWVzIHwgbnVsbFxuICAvKiogUmVhZCBgYmVmb3JlYCBhbmQgYGFmdGVyYCB3aXRoIFVuaWNvZGUgY2xhc3NlcyBzdWNoIGFzIGBcXHB7TH1gLiBAZGVmYXVsdCBmYWxzZSAqL1xuICB1bmljb2RlPzogYm9vbGVhblxufVxuXG4vKiogYG1kLnRvSHRtbGA6IG1kYXN0IGludG8gaGFzdDsgb3B0aW9ucyBuYW1lZCBhcyByZW1hcmstcmVoeXBlIG5hbWVzIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIFRvSHRtbE9wdGlvbnMge1xuICAvKiogS2VlcCByYXcgSFRNTCBpbiB0aGUgdHJlZSBpbnN0ZWFkIG9mIGRyb3BwaW5nIGl0LiBAZGVmYXVsdCBmYWxzZSAqL1xuICBhbGxvd0Rhbmdlcm91c0h0bWw/OiBib29sZWFuXG4gIC8qKiBXaGF0IGZvb3Rub3RlIGBpZGBzIHN0YXJ0IHdpdGgsIHNvIHRoZXkgY2Fubm90IGNsb2JiZXIgdGhlIHBhZ2UnczsgYHVzZXItY29udGVudC1gIHdoZW4gdW5zZXQuICovXG4gIGNsb2JiZXJQcmVmaXg/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdGV4dCBvZiBlYWNoIGZvb3Rub3RlJ3MgYmFjayByZWZlcmVuY2U7IGDihqlgLCBudW1iZXJlZCBmcm9tIHRoZSBzZWNvbmQsIHdoZW4gdW5zZXQuICovXG4gIGZvb3Rub3RlQmFja0NvbnRlbnQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYGFyaWEtbGFiZWxgIG9mIGVhY2ggZm9vdG5vdGUncyBiYWNrIHJlZmVyZW5jZTsgYEJhY2sgdG8gcmVmZXJlbmNlIDFgIGFuZCBzbyBvbiB3aGVuIHVuc2V0LiAqL1xuICBmb290bm90ZUJhY2tMYWJlbD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBoZWFkaW5nIG9mIHRoZSBmb290bm90ZXMgc2VjdGlvbjsgYEZvb3Rub3Rlc2Agd2hlbiB1bnNldC4gKi9cbiAgZm9vdG5vdGVMYWJlbD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB0YWcgbmFtZSBvZiB0aGUgZm9vdG5vdGVzIHNlY3Rpb24ncyBoZWFkaW5nOyBgaDJgIHdoZW4gdW5zZXQuICovXG4gIGZvb3Rub3RlTGFiZWxUYWdOYW1lPzogc3RyaW5nIHwgbnVsbFxuICAvKiogTm9kZSB0eXBlcyB3aXRob3V0IGEgaGFuZGxlciB0byBjb3B5IGludG8gaGFzdCBhcyB0aGV5IGFyZSwgdGhlaXIgY2hpbGRyZW4gY29udmVydGVkLiBAZGVmYXVsdCBbXSAqL1xuICBwYXNzVGhyb3VnaD86IHN0cmluZ1tdXG4gIC8qKiBBbiBgYXJpYS1sYWJlbGAgZm9yIGVhY2ggdGFzay1saXN0IGNoZWNrYm94LCBzbyBzY3JlZW4gcmVhZGVycyBuYW1lIGl0OyBub25lIHdoZW4gbGVmdCBvdXQsIGFzIHJlbWFyay1yZWh5cGUgd3JpdGVzIG5vbmUuICovXG4gIHRhc2tMaXN0TGFiZWxzPzogVGFza0xpc3RMYWJlbHMgfCBudWxsXG59XG5cbi8qKiBUaGUgbGFiZWxzIG9mIHRhc2stbGlzdCBjaGVja2JveGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrTGlzdExhYmVscyB7XG4gIC8qKiBUaGUgbGFiZWwgb2YgYSBjaGVja2VkIGJveCwgc3VjaCBhcyBgQ29tcGxldGVkIHRhc2tgLiAqL1xuICBjaGVja2VkOiBzdHJpbmdcbiAgLyoqIFRoZSBsYWJlbCBvZiBhbiB1bmNoZWNrZWQgYm94LCBzdWNoIGFzIGBUYXNrYC4gKi9cbiAgdW5jaGVja2VkOiBzdHJpbmdcbn1cblxuLyoqIGBtZC50b05hdHVyYWxMYW5ndWFnZWA6IG1kYXN0IGludG8gbmxjc3QsIHRva2VuaXplZCBieSB0aGUgcHJvY2Vzc29yJ3MgbmF0dXJhbC1sYW5ndWFnZSBwYXJzZXI7IG9wdGlvbnMgbmFtZWQgYXMgcmVtYXJrLXJldGV4dCBhbmQgbWRhc3QtdXRpbC10by1ubGNzdCBuYW1lIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIFRvTmF0dXJhbExhbmd1YWdlT3B0aW9ucyB7XG4gIC8qKiBOb2RlIHR5cGVzIHRvIGxlYXZlIG91dCwgYmVzaWRlcyBgdGFibGVgLCBgdGFibGVSb3dgIGFuZCBgdGFibGVDZWxsYC4gQGRlZmF1bHQgW10gKi9cbiAgaWdub3JlPzogc3RyaW5nW11cbiAgLyoqIE5vZGUgdHlwZXMgdG8ga2VlcCBhcyBvbmUgYFNvdXJjZU5vZGVgIG9mIHRoZWlyIHNvdXJjZSB0ZXh0LCBiZXNpZGVzIGBpbmxpbmVDb2RlYC4gQGRlZmF1bHQgW10gKi9cbiAgc291cmNlPzogc3RyaW5nW11cbn1cblxuLyoqIFRoZSBgbWQucGFyc2VgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShvcHRpb25zPzogUGFyc2VPcHRpb25zKTogUGx1Z2luPFwibWQucGFyc2VcIiwgUGFyc2VPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibWQucGFyc2VcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQucGFyc2VcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG1kLmRpcmVjdGl2ZWAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpcmVjdGl2ZShvcHRpb25zPzogRGlyZWN0aXZlT3B0aW9ucyk6IFBsdWdpbjxcIm1kLmRpcmVjdGl2ZVwiLCBEaXJlY3RpdmVPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibWQuZGlyZWN0aXZlXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm1kLmRpcmVjdGl2ZVwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQuZ2ZtYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gZ2ZtKG9wdGlvbnM/OiBHZm1PcHRpb25zKTogUGx1Z2luPFwibWQuZ2ZtXCIsIEdmbU9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5nZm1cIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQuZ2ZtXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5kZWZpbml0aW9uTGlzdGAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmluaXRpb25MaXN0KCk6IFBsdWdpbjxcIm1kLmRlZmluaXRpb25MaXN0XCI+IHtcbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5kZWZpbml0aW9uTGlzdFwiIH1cbn1cblxuLyoqIFRoZSBgbWQubWF0aGAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGgob3B0aW9ucz86IE1hdGhPcHRpb25zKTogUGx1Z2luPFwibWQubWF0aFwiLCBNYXRoT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLm1hdGhcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQubWF0aFwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQubWR4YCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gbWR4KG9wdGlvbnM/OiBNZHhPcHRpb25zKTogUGx1Z2luPFwibWQubWR4XCIsIE1keE9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5tZHhcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQubWR4XCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5mcm9udG1hdHRlcmAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb250bWF0dGVyKG9wdGlvbnM/OiBGcm9udG1hdHRlck9wdGlvbnMpOiBQbHVnaW48XCJtZC5mcm9udG1hdHRlclwiLCBGcm9udG1hdHRlck9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5mcm9udG1hdHRlclwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5mcm9udG1hdHRlclwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQuZ2Vtb2ppYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gZ2Vtb2ppKCk6IFBsdWdpbjxcIm1kLmdlbW9qaVwiPiB7XG4gIHJldHVybiB7IG5hbWU6IFwibWQuZ2Vtb2ppXCIgfVxufVxuXG4vKiogVGhlIGBtZC5jb21wb25lbnRgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wb25lbnQob3B0aW9ucz86IENvbXBvbmVudE9wdGlvbnMpOiBQbHVnaW48XCJtZC5jb21wb25lbnRcIiwgQ29tcG9uZW50T3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLmNvbXBvbmVudFwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5jb21wb25lbnRcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG1kLnBhY2thZ2VDb21tYW5kYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gcGFja2FnZUNvbW1hbmQob3B0aW9ucz86IFBhY2thZ2VDb21tYW5kT3B0aW9ucyk6IFBsdWdpbjxcIm1kLnBhY2thZ2VDb21tYW5kXCIsIFBhY2thZ2VDb21tYW5kT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLnBhY2thZ2VDb21tYW5kXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm1kLnBhY2thZ2VDb21tYW5kXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5oZWFkaW5nSWRgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoZWFkaW5nSWQob3B0aW9ucz86IEhlYWRpbmdJZE9wdGlvbnMpOiBQbHVnaW48XCJtZC5oZWFkaW5nSWRcIiwgSGVhZGluZ0lkT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLmhlYWRpbmdJZFwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5oZWFkaW5nSWRcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG1kLnBhdGhSZXdyaXRlYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gcGF0aFJld3JpdGUob3B0aW9ucz86IFBhdGhSZXdyaXRlT3B0aW9ucyk6IFBsdWdpbjxcIm1kLnBhdGhSZXdyaXRlXCIsIFBhdGhSZXdyaXRlT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLnBhdGhSZXdyaXRlXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm1kLnBhdGhSZXdyaXRlXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5zdHJpcGAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwKG9wdGlvbnM/OiBTdHJpcE9wdGlvbnMpOiBQbHVnaW48XCJtZC5zdHJpcFwiLCBTdHJpcE9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5zdHJpcFwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5zdHJpcFwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQudG9jYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gdG9jKG9wdGlvbnM/OiBUb2NPcHRpb25zKTogUGx1Z2luPFwibWQudG9jXCIsIFRvY09wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC50b2NcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQudG9jXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5zdHJpbmdpZnlgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnkob3B0aW9ucz86IFN0cmluZ2lmeU9wdGlvbnMpOiBQbHVnaW48XCJtZC5zdHJpbmdpZnlcIiwgU3RyaW5naWZ5T3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLnN0cmluZ2lmeVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5zdHJpbmdpZnlcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG1kLnRvSHRtbGAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSHRtbChvcHRpb25zPzogVG9IdG1sT3B0aW9ucyk6IFBsdWdpbjxcIm1kLnRvSHRtbFwiLCBUb0h0bWxPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibWQudG9IdG1sXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm1kLnRvSHRtbFwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQudG9OYXR1cmFsTGFuZ3VhZ2VgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b05hdHVyYWxMYW5ndWFnZShvcHRpb25zPzogVG9OYXR1cmFsTGFuZ3VhZ2VPcHRpb25zKTogUGx1Z2luPFwibWQudG9OYXR1cmFsTGFuZ3VhZ2VcIiwgVG9OYXR1cmFsTGFuZ3VhZ2VPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibWQudG9OYXR1cmFsTGFuZ3VhZ2VcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQudG9OYXR1cmFsTGFuZ3VhZ2VcIiwgb3B0aW9ucyB9XG59XG4iXX0=
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9nZW5lcmF0ZWQvbWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFO0FBbWIvRSw2QkFBNkI7QUFDN0IsTUFBTSxVQUFVLEtBQUssQ0FBQyxPQUFzQjtJQUMxQyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQTtJQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUN0QyxDQUFDO0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBMEI7SUFDbEQsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUE7SUFDMUQsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDMUMsQ0FBQztBQUVELDJCQUEyQjtBQUMzQixNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQW9CO0lBQ3RDLElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFBO0lBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3BDLENBQUM7QUFFRCxzQ0FBc0M7QUFDdEMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFBO0FBQ3RDLENBQUM7QUFFRCw0QkFBNEI7QUFDNUIsTUFBTSxVQUFVLElBQUksQ0FBQyxPQUFxQjtJQUN4QyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQTtJQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUNyQyxDQUFDO0FBRUQsMkJBQTJCO0FBQzNCLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBb0I7SUFDdEMsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUE7SUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDcEMsQ0FBQztBQUVELG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTRCO0lBQ3RELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUE7SUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsbUNBQW1DO0FBQ25DLE1BQU0sVUFBVSxXQUFXO0lBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sVUFBVSxNQUFNLENBQUMsT0FBdUI7SUFDNUMsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUE7SUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDdkMsQ0FBQztBQUVELG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTRCO0lBQ3RELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUE7SUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBMEI7SUFDbEQsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUE7SUFDMUQsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDMUMsQ0FBQztBQUVELHNDQUFzQztBQUN0QyxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQStCO0lBQzVELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLENBQUE7SUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUMvQyxDQUFDO0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBMEI7SUFDbEQsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUE7SUFDMUQsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDMUMsQ0FBQztBQUVELG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTRCO0lBQ3RELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUE7SUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsb0NBQW9DO0FBQ3BDLE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBNkI7SUFDeEQsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQTtJQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQzdDLENBQUM7QUFFRCw2QkFBNkI7QUFDN0IsTUFBTSxVQUFVLEtBQUssQ0FBQyxPQUFzQjtJQUMxQyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQTtJQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUN0QyxDQUFDO0FBRUQsMkJBQTJCO0FBQzNCLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBb0I7SUFDdEMsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUE7SUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDcEMsQ0FBQztBQUVELGlDQUFpQztBQUNqQyxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQTBCO0lBQ2xELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFBO0lBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQzFDLENBQUM7QUFFRCw4QkFBOEI7QUFDOUIsTUFBTSxVQUFVLE1BQU0sQ0FBQyxPQUF1QjtJQUM1QyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQTtJQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUN2QyxDQUFDO0FBRUQseUNBQXlDO0FBQ3pDLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUFrQztJQUNsRSxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFBO0lBQ2xFLE9BQU8sRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBieSBgcG5wbSBnZW5lcmF0ZTpiaW5kaW5nc2AgZnJvbSB0aGUgY3JhdGUncyBwbHVnaW5zOyBkbyBub3QgZWRpdC5cblxuaW1wb3J0IHR5cGUgeyBSb290IH0gZnJvbSBcIm1kYXN0XCJcbmltcG9ydCB0eXBlIHsgUGFyc2VyLCBQbHVnaW4gfSBmcm9tIFwiLi4vbW9kZWxzL3BsdWdpbi50c1wiXG5cbi8qKiBgbWQucGFyc2VgOiBNYXJrZG93biBpbnRvIG1kYXN0LiAqL1xuZXhwb3J0IHR5cGUgUGFyc2VPcHRpb25zID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cblxuLyoqIGBtZC5kaXJlY3RpdmVgOiBnZW5lcmljIGRpcmVjdGl2ZXMsIGA6YWAsIGA6OmJgIGFuZCBgOjo6Y2AsIHJlYWQgYnkgYG1kLnBhcnNlYCBhbmQgd3JpdHRlbiBieSBgbWQuc3RyaW5naWZ5YDsgb3B0aW9ucyBuYW1lZCBhcyBtZGFzdC11dGlsLWRpcmVjdGl2ZSdzIHNlcmlhbGl6ZXIgbmFtZXMgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0aXZlT3B0aW9ucyB7XG4gIC8qKiBXcml0ZSBhbiBlbXB0eSBhdHRyaWJ1dGUgYXMgaXRzIG5hbWUgYWxvbmUsIGB7YX1gLCByYXRoZXIgdGhhbiBge2E9XCJcIn1gLiBAZGVmYXVsdCB0cnVlICovXG4gIGNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzPzogYm9vbGVhblxuICAvKiogV3JpdGUgYGlkYCBhbmQgYGNsYXNzYCBhcyBgI2FgIGFuZCBgLmJgIHdoZXJlIHRoZXkgY2FuIGJlLiBAZGVmYXVsdCB0cnVlICovXG4gIHByZWZlclNob3J0Y3V0PzogYm9vbGVhblxuICAvKiogTGVhdmUgYXR0cmlidXRlIHZhbHVlcyB1bnF1b3RlZCB3aGVyZSB0aGV5IGNhbiBiZS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcHJlZmVyVW5xdW90ZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgcXVvdGUgb2YgYXR0cmlidXRlIHZhbHVlczogYFwiYCBvciBgJ2A7IGBtZC5zdHJpbmdpZnlgJ3MgYHF1b3RlYCB3aGVuIHVuc2V0LiAqL1xuICBxdW90ZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFVzZSB0aGUgb3RoZXIgcXVvdGUgd2hlbiB0aGUgcHJlZmVycmVkIG9uZSBvY2N1cnMgbW9yZSBvZnRlbiBpbiBhIHZhbHVlLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBxdW90ZVNtYXJ0PzogYm9vbGVhblxufVxuXG4vKiogYG1kLmdmbWA6IEdpdEh1YiBGbGF2b3JlZCBNYXJrZG93bidzIHN5bnRheCwgcmVhZCBieSBgbWQucGFyc2VgIGFuZCB3cml0dGVuIGJ5IGBtZC5zdHJpbmdpZnlgOyBvcHRpb25zIG5hbWVkIGFzIHJlbWFyay1nZm0gbmFtZXMgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2ZtT3B0aW9ucyB7XG4gIC8qKiBMZXQgb25lIHRpbGRlLCBgfmF+YCwgZm9ybSBzdHJpa2V0aHJvdWdoLCBhcyB3ZWxsIGFzIHR3by4gQGRlZmF1bHQgdHJ1ZSAqL1xuICBzaW5nbGVUaWxkZT86IGJvb2xlYW5cbiAgLyoqIFBhZCB0YWJsZSBjZWxscyB3aXRoIGEgc3BhY2Ugb24gZWFjaCBzaWRlIHdoZW4gd3JpdGluZyBNYXJrZG93bi4gQGRlZmF1bHQgdHJ1ZSAqL1xuICB0YWJsZUNlbGxQYWRkaW5nPzogYm9vbGVhblxuICAvKiogTGluZSB1cCB0YWJsZSBwaXBlcyB3aGVuIHdyaXRpbmcgTWFya2Rvd24uIEBkZWZhdWx0IHRydWUgKi9cbiAgdGFibGVQaXBlQWxpZ24/OiBib29sZWFuXG4gIC8qKiBXcml0ZSBhIGZvb3Rub3RlIGRlZmluaXRpb24ncyBmaXJzdCBsaW5lIGJsYW5rIHdoZW4gaXQgaG9sZHMgZmxvdyBjb250ZW50LiBAZGVmYXVsdCBmYWxzZSAqL1xuICBmaXJzdExpbmVCbGFuaz86IGJvb2xlYW5cbiAgLyoqIFJlbmRlciBHaXRIdWIgYWxlcnRzLCBhIGJsb2NrIHF1b3RlIG9wZW5pbmcgd2l0aCBgWyFOT1RFXWAsIGFzIEdpdEh1YiBkb2VzLCBhcyByZW1hcmstZ2l0aHViLWJsb2NrcXVvdGUtYWxlcnQgZG9lczogYHRydWVgLCBvciBpdHMgb3B0aW9ucy4gKi9cbiAgYWxlcnRzPzogQWxlcnRzIHwgbnVsbFxufVxuXG4vKiogYG1kLmdmbWAncyBgYWxlcnRzYDogb24sIG9yIG9uIHdpdGggcmVtYXJrLWdpdGh1Yi1ibG9ja3F1b3RlLWFsZXJ0J3Mgb3B0aW9ucy4gKi9cbmV4cG9ydCB0eXBlIEFsZXJ0cyA9IGJvb2xlYW4gfCBBbGVydHNPcHRpb25zXG5cbi8qKiByZW1hcmstZ2l0aHViLWJsb2NrcXVvdGUtYWxlcnQncyBvcHRpb25zLiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGVydHNPcHRpb25zIHtcbiAgLyoqIFJlYWQgYSB0aXRsZSBhZnRlciB0aGUgdHlwZSwgYFshTk9URS9SZWFkIHRoaXNdYCwgaW4gcGxhY2Ugb2YgdGhlIHR5cGUncyBuYW1lLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBsZWdhY3lUaXRsZT86IGJvb2xlYW5cbiAgLyoqIFRoZSB0YWcgbmFtZSBvZiB0aGUgYWxlcnQncyBlbGVtZW50LiBAZGVmYXVsdCBcImRpdlwiICovXG4gIHRhZ05hbWU/OiBzdHJpbmdcbiAgLyoqIE1vcmUgY2xhc3NlcyBmb3IgdGhlIGFsZXJ0J3MgZWxlbWVudCwgc2VwYXJhdGVkIGJ5IHNwYWNlcy4gQGRlZmF1bHQgXCJcIiAqL1xuICBjbGFzc05hbWVzPzogc3RyaW5nXG59XG5cbi8qKiBgbWQubWF0aGA6IG1hdGggc3ludGF4LCBgJCRgIGJsb2NrcyBhbmQgYCRgIHRleHQsIHJlYWQgYnkgYG1kLnBhcnNlYCBhbmQgd3JpdHRlbiBieSBgbWQuc3RyaW5naWZ5YDsgb3B0aW9ucyBuYW1lZCBhcyByZW1hcmstbWF0aCBuYW1lcyB0aGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXRoT3B0aW9ucyB7XG4gIC8qKiBMZXQgb25lIGRvbGxhciwgYCRhJGAsIGZvcm0gbWF0aCBpbiB0ZXh0LCBhcyB3ZWxsIGFzIHR3by4gQGRlZmF1bHQgdHJ1ZSAqL1xuICBzaW5nbGVEb2xsYXJUZXh0TWF0aD86IGJvb2xlYW5cbn1cblxuLyoqIGBtZC5tZHhgOiBNRFggc3ludGF4LCBKU1gsIGV4cHJlc3Npb25zIGFuZCBFU00sIHJlYWQgYnkgYG1kLnBhcnNlYCBhbmQgd3JpdHRlbiBieSBgbWQuc3RyaW5naWZ5YDsgaXQgdHVybnMgb2ZmIGluZGVudGVkIGNvZGUsIGF1dG9saW5rcyBhbmQgcmF3IEhUTUw7IG9wdGlvbnMgbmFtZWQgYXMgcmVtYXJrLW1keCBhbmQgbWRhc3QtdXRpbC1tZHgtanN4J3Mgc2VyaWFsaXplciBuYW1lIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIE1keE9wdGlvbnMge1xuICAvKiogVGhlIHF1b3RlIG9mIEpTWCBhdHRyaWJ1dGUgdmFsdWVzOiBgXCJgICh3aGVuIHVuc2V0KSBvciBgJ2AuICovXG4gIHF1b3RlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVXNlIHRoZSBvdGhlciBxdW90ZSB3aGVuIHRoZSBwcmVmZXJyZWQgb25lIG9jY3VycyBtb3JlIG9mdGVuIGluIGEgdmFsdWUuIEBkZWZhdWx0IGZhbHNlICovXG4gIHF1b3RlU21hcnQ/OiBib29sZWFuXG4gIC8qKiBXcml0ZSBzZWxmLWNsb3NpbmcgdGFncyB3aXRob3V0IGEgc3BhY2UgYmVmb3JlIHRoZSBzbGFzaCwgYDxhLz5gLiBAZGVmYXVsdCBmYWxzZSAqL1xuICB0aWdodFNlbGZDbG9zaW5nPzogYm9vbGVhblxuICAvKiogVGhlIHdpZHRoIHBhc3Qgd2hpY2ggYSBmbG93IGVsZW1lbnQncyBhdHRyaWJ1dGVzIGdvIG9uIGxpbmVzIG9mIHRoZWlyIG93bi4gKi9cbiAgcHJpbnRXaWR0aD86IG51bWJlciB8IG51bGxcbn1cblxuLyoqIFRoZSBraW5kcyBvZiBtYXR0ZXIgdG8gcmVjb2duaXplLCBhcyByZW1hcmstZnJvbnRtYXR0ZXIgdGFrZXMgdGhlbSAoYSBwcmVzZXQsIGEgbWF0dGVyLCBvciBhIGxpc3Qgb2YgdGhlbTsgYHlhbWxgIHdoZW4gdW5zZXQpLCBvciB0ZXh0bGFuZSdzIG9wdGlvbnMgb2JqZWN0LiAqL1xuZXhwb3J0IHR5cGUgRnJvbnRtYXR0ZXJPcHRpb25zID0gXCJ5YW1sXCIgfCBcInRvbWxcIiB8IE1hdHRlciB8IChcInlhbWxcIiB8IFwidG9tbFwiIHwgTWF0dGVyKVtdIHwgRnJvbnRtYXR0ZXJTZXR0aW5nc1xuXG4vKiogT25lIGtpbmQgb2YgZnJvbnRtYXR0ZXI6IHRoZSBub2RlIGB0eXBlYCBpdCBiZWNvbWVzIGFuZCBpdHMgZmVuY2VzLCBhIGBtYXJrZXJgIHJlcGVhdGVkIHRocmVlIHRpbWVzIG9yIGEgd2hvbGUgYGZlbmNlYC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWF0dGVyIHtcbiAgdHlwZTogc3RyaW5nXG4gIG1hcmtlcj86IEZlbmNlXG4gIGZlbmNlPzogRmVuY2VcbiAgYW55d2hlcmU/OiBib29sZWFuXG59XG5cbi8qKiBEaWZmZXJlbnQgb3BlbmluZyBhbmQgY2xvc2luZyBmZW5jZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIEZlbmNlUGFpciB7XG4gIG9wZW46IHN0cmluZ1xuICBjbG9zZTogc3RyaW5nXG59XG5cbi8qKiBBIGZlbmNlLCBvciBpdHMgb3BlbmluZyBhbmQgY2xvc2luZyBvbmVzLiAqL1xuZXhwb3J0IHR5cGUgRmVuY2UgPSBzdHJpbmcgfCBGZW5jZVBhaXJcblxuLyoqIHRleHRsYW5lJ3Mgb3B0aW9uczogdGhlIG1hdHRlcnMsIGFuZCB3aGF0IHRvIGRvIHdpdGggWUFNTCBmcm9udG1hdHRlci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRtYXR0ZXJTZXR0aW5ncyB7XG4gIC8qKiBUaGUga2luZHMgb2YgbWF0dGVyIHRvIHJlY29nbml6ZSwgYXMgcmVtYXJrLWZyb250bWF0dGVyIHRha2VzIHRoZW07IGB5YW1sYCB3aGVuIHVuc2V0LiAqL1xuICBtYXR0ZXJzPzogXCJ5YW1sXCIgfCBcInRvbWxcIiB8IE1hdHRlciB8IChcInlhbWxcIiB8IFwidG9tbFwiIHwgTWF0dGVyKVtdXG4gIC8qKiBQYXJzZSB0aGUgWUFNTCBmcm9udG1hdHRlciBhIGRvY3VtZW50IHN0YXJ0cyB3aXRoIGludG8gYGZpbGUuZGF0YS5tYXR0ZXJgLCBge31gIHdoZW4gdGhlcmUgaXMgbm9uZSwgYXMgdmZpbGUtbWF0dGVyIGRvZXMuICovXG4gIGRhdGE/OiBib29sZWFuXG4gIC8qKiBSZW1vdmUgdGhlIFlBTUwgZnJvbnRtYXR0ZXIgYSBkb2N1bWVudCBzdGFydHMgd2l0aCBmcm9tIHRoZSB0cmVlLiAqL1xuICBzdHJpcD86IGJvb2xlYW5cbn1cblxuLyoqIGBtZC5nZW1vamlgOiBnZW1vamkgc2hvcnRjb2RlcywgYDpzbWlsZTpgLCBpbnRvIGVtb2ppLCBhcyByZW1hcmstZ2Vtb2ppIGRvZXM7IGl0cyBvcHRpb25zIGFyZSByZW1hcmstZW1vamkncy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2Vtb2ppT3B0aW9ucyB7XG4gIC8qKiBBbHNvIHR1cm4gZW1vdGljb25zIHN1Y2ggYXMgYDopYCBhbmQgYDotKGAgaW50byBlbW9qaSwgYXMgcmVtYXJrLWVtb2ppIGRvZXMuIEBkZWZhdWx0IGZhbHNlICovXG4gIGVtb3RpY29uPzogYm9vbGVhblxuICAvKiogV3JhcCBlYWNoIGVtb2ppIGluIGA8c3BhbiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIuKAplwiPmAsIGxhYmVsbGVkIHdpdGggaXRzIG5hbWUuIEBkZWZhdWx0IGZhbHNlICovXG4gIGFjY2Vzc2libGU/OiBib29sZWFuXG4gIC8qKiBQdXQgYSBzcGFjZSBhZnRlciBlYWNoIGVtb2ppLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBwYWRTcGFjZUFmdGVyPzogYm9vbGVhblxufVxuXG4vKiogYG1kLnNtYXJ0eXBhbnRzYDogc3RyYWlnaHQgcXVvdGVzLCBkYXNoZXMsIGRvdHMgYW5kIGJhY2t0aWNrcyBpbiBNYXJrZG93biB0ZXh0IGludG8gdHlwb2dyYXBoaWMgb25lcywgYXMgcmVtYXJrLXNtYXJ0eXBhbnRzIGRvZXM7IG9wdGlvbnMgYXMgcmV0ZXh0LXNtYXJ0eXBhbnRzIHRha2VzIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0eXBhbnRzT3B0aW9ucyB7XG4gIC8qKiBUdXJuIGRvdWJsZSBiYWNrdGlja3MgYW5kIGRvdWJsZSBzdHJhaWdodCBzaW5nbGUgcXVvdGVzIGludG8gZG91YmxlIHF1b3RlczsgYGFsbGAgdHVybnMgc2luZ2xlIG9uZXMgaW50byBzaW5nbGUgcXVvdGVzIHRvby4gKi9cbiAgYmFja3RpY2tzPzogQmFja3RpY2tzXG4gIC8qKiBUaGUgY2xvc2luZyBxdW90ZXMgdG8gdXNlOiBg4oCdYCBhbmQgYOKAmWAgYnkgZGVmYXVsdC4gKi9cbiAgY2xvc2luZ1F1b3Rlcz86IFF1b3RlQ2hhcmFjdGVycyB8IG51bGxcbiAgLyoqIFR1cm4gdHdvIGRhc2hlcyBpbnRvIGFuIGVtIGRhc2g7IGBvbGRzY2hvb2xgIGFuZCBgaW52ZXJ0ZWRgIHRyZWF0IHRocmVlIHRvby4gKi9cbiAgZGFzaGVzPzogRGFzaGVzXG4gIC8qKiBUdXJuIHRocmVlIGRvdHMgaW50byBhbiBlbGxpcHNpcywgd2l0aCBzcGFjZXMgYmV0d2VlbiB0aGVtIG9yIHdpdGhvdXQuICovXG4gIGVsbGlwc2VzPzogRWxsaXBzZXNcbiAgLyoqIFRoZSBvcGVuaW5nIHF1b3RlcyB0byB1c2U6IGDigJxgIGFuZCBg4oCYYCBieSBkZWZhdWx0LiAqL1xuICBvcGVuaW5nUXVvdGVzPzogUXVvdGVDaGFyYWN0ZXJzIHwgbnVsbFxuICAvKiogVHVybiBzdHJhaWdodCBxdW90ZXMgaW50byBzbWFydCBvbmVzLiBAZGVmYXVsdCB0cnVlICovXG4gIHF1b3Rlcz86IGJvb2xlYW4gfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEJhY2t0aWNrcyA9IGJvb2xlYW4gfCBcImFsbFwiXG5cbi8qKiBUaGUgcXVvdGUgY2hhcmFjdGVycyB0byB1c2UgZm9yIGRvdWJsZSBhbmQgc2luZ2xlIHF1b3Rlcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVvdGVDaGFyYWN0ZXJzIHtcbiAgZG91YmxlOiBzdHJpbmdcbiAgc2luZ2xlOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRGFzaGVzID0gYm9vbGVhbiB8IFwib2xkc2Nob29sXCIgfCBcImludmVydGVkXCJcblxuZXhwb3J0IHR5cGUgRWxsaXBzZXMgPSBib29sZWFuIHwgXCJzcGFjZWRcIiB8IFwidW5zcGFjZWRcIlxuXG4vKiogYG1kLmNvbXBvbmVudGA6IGRpcmVjdGl2ZXMsIEdpdEh1YiBhbGVydHMgYW5kIG90aGVyIG5vZGVzIGludG8gTURYIEpTWCBlbGVtZW50cywgdGhlIGNvbXBvbmVudHMgYW4gTURYIHJ1bnRpbWUgcmVuZGVycywgYnkgZGVjbGFyYXRpdmUgcnVsZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudE9wdGlvbnMge1xuICAvKiogUnVsZXMgZm9yIGRpcmVjdGl2ZXM7IHRoZSBmaXJzdCB0aGF0IG1hdGNoZXMgYSBkaXJlY3RpdmUgY29udmVydHMgaXQuICovXG4gIGRpcmVjdGl2ZXM/OiBEaXJlY3RpdmVSdWxlW11cbiAgLyoqIEdpdEh1YiBhbGVydHMsIGA+IFshTk9URV1gLCBpbnRvIGEgY29tcG9uZW50LiAqL1xuICBhbGVydHM/OiBBbGVydFJ1bGUgfCBudWxsXG4gIC8qKiBOb2RlIHR5cGVzLCBzdWNoIGFzIGBkZWZMaXN0YCwgaW50byBjb21wb25lbnRzIGtlZXBpbmcgdGhlaXIgY2hpbGRyZW4uIEBkZWZhdWx0IHt9ICovXG4gIG5vZGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAvKiogV2hhdCBiZWNvbWVzIG9mIGEgZGlyZWN0aXZlIG5vIHJ1bGUgY29udmVydHMuICovXG4gIHVua25vd25EaXJlY3RpdmVzPzogVW5rbm93bkRpcmVjdGl2ZXNcbiAgLyoqIFJ1bGVzIGZvciBmZW5jZWQgY29kZTsgdGhlIGZpcnN0IHRoYXQgbWF0Y2hlcyBhIGJsb2NrIGFwcGxpZXMuICovXG4gIGNvZGVzPzogQ29kZVJ1bGVbXVxufVxuXG4vKiogSG93IGBtZC5jb21wb25lbnRgIHR1cm5zIG1hdGNoaW5nIGRpcmVjdGl2ZXMgaW50byBvbmUgY29tcG9uZW50LiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RpdmVSdWxlIHtcbiAgLyoqIFRoZSBkaXJlY3RpdmUncyBuYW1lLCBvciBzZXZlcmFsLiAqL1xuICBuYW1lOiBOYW1lc1xuICAvKiogVGhlIGtpbmQgb2YgZGlyZWN0aXZlOiBgdGV4dGAsIGBsZWFmYCBvciBgY29udGFpbmVyYDsgYW55IHdoZW4gbGVmdCBvdXQuICovXG4gIGtpbmQ/OiBEaXJlY3RpdmVLaW5kIHwgbnVsbFxuICAvKiogQXR0cmlidXRlIHZhbHVlcyB0aGUgZGlyZWN0aXZlIG11c3QgaGF2ZS4gQGRlZmF1bHQge30gKi9cbiAgd2hlcmU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIC8qKiBUaGUgY29tcG9uZW50OiBhIHRleHQgZWxlbWVudCBmb3IgYSB0ZXh0IGRpcmVjdGl2ZSwgZWxzZSBhIGZsb3cgZWxlbWVudC4gKi9cbiAgY29tcG9uZW50OiBzdHJpbmdcbiAgLyoqIFRoZSBhdHRyaWJ1dGUgdGhhdCBnZXRzIHRoZSBkaXJlY3RpdmUncyBuYW1lLiAqL1xuICBuYW1lQXM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYXR0cmlidXRlIHRoYXQgZ2V0cyB0aGUgbGFiZWwncyB0ZXh0OiBhIGNvbnRhaW5lcidzIGxhYmVsIHBhcmFncmFwaCBvciBhIHRleHQgb3IgbGVhZiBkaXJlY3RpdmUncyBjb250ZW50LCB3aGljaCBpcyB0aGVuIGRyb3BwZWQuICovXG4gIGxhYmVsQXM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgbGFiZWwncyB0ZXh0IHdoZW4gdGhlcmUgaXMgbm9uZS4gKi9cbiAgbGFiZWxEZWZhdWx0Pzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGF0dHJpYnV0ZXMgdG8ga2VlcCwgaW4gb3JkZXI7IGV2ZXJ5IG9uZSwgYXMgd3JpdHRlbiwgd2hlbiBsZWZ0IG91dC4gKi9cbiAgYXR0cmlidXRlcz86IEF0dHJpYnV0ZVJ1bGVbXSB8IG51bGxcbiAgLyoqIEF0dHJpYnV0ZXMgd2l0aG91dCB3aGljaCB0aGUgZGlyZWN0aXZlIGlzIGxlZnQgdG8gYHVua25vd25EaXJlY3RpdmVzYC4gQGRlZmF1bHQgW10gKi9cbiAgcmVxdWlyZWQ/OiBzdHJpbmdbXVxuICAvKiogV3JhcCBydW5zIG9mIGFkamFjZW50IHNpYmxpbmdzIHRoaXMgcnVsZSBjb252ZXJ0ZWQgaW4gYW5vdGhlciBjb21wb25lbnQuICovXG4gIGdyb3VwPzogR3JvdXBSdWxlIHwgbnVsbFxuICAvKiogVGhlIGF0dHJpYnV0ZSB0aGF0IGdldHMgdGhlIGxpc3RzIG9mIGEgY29udGFpbmVyIGRpcmVjdGl2ZSBhcyBhIGZpbGUgdHJlZSwgSlNPTiBpdGVtcyBge25hbWUsIHR5cGUsIGNvbW1lbnQ/LCBoaWdobGlnaHRlZD8sIGNoaWxkcmVuP31gOyB0aGUgbGlzdHMgbGVhdmUgaXRzIGNvbnRlbnQuICovXG4gIHRyZWVBcz86IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIE9uZSBuYW1lIG9yIHNldmVyYWwuICovXG5leHBvcnQgdHlwZSBOYW1lcyA9IHN0cmluZyB8IHN0cmluZ1tdXG5cbi8qKiBBIGRpcmVjdGl2ZSdzIGtpbmQsIGJ5IGhvdyBtYW55IGNvbG9ucyBvcGVuIGl0LiAqL1xuZXhwb3J0IHR5cGUgRGlyZWN0aXZlS2luZCA9IFwidGV4dFwiIHwgXCJsZWFmXCIgfCBcImNvbnRhaW5lclwiXG5cbi8qKiBBbiBhdHRyaWJ1dGUgdG8ga2VlcDogaXRzIG5hbWUsIG9yIGl0cyBuYW1lIHdpdGggd2hhdCB0byBjYWxsIGl0IGFuZCBhIGRlZmF1bHQuICovXG5leHBvcnQgdHlwZSBBdHRyaWJ1dGVSdWxlID0gc3RyaW5nIHwgeyBuYW1lOiBzdHJpbmc7IHJlbmFtZT86IHN0cmluZyB8IG51bGw7IGRlZmF1bHQ/OiBzdHJpbmcgfCBudWxsIH1cblxuLyoqIFRoZSBjb21wb25lbnQgd3JhcHBpbmcgYSBydW4gb2YgYWRqYWNlbnQgc2libGluZ3Mgb25lIHJ1bGUgY29udmVydGVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcm91cFJ1bGUge1xuICAvKiogVGhlIHdyYXBwaW5nIGNvbXBvbmVudC4gKi9cbiAgY29tcG9uZW50OiBzdHJpbmdcbiAgLyoqIFRoZSBzaG9ydGVzdCBydW4gd3JhcHBlZDsgMiB3aGVuIGxlZnQgb3V0LiAqL1xuICBtaW4/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBBdHRyaWJ1dGVzIHRoZSB3cmFwcGVyIGNvcGllcyBmcm9tIHRoZSBydW4ncyBmaXJzdCBlbGVtZW50LiBAZGVmYXVsdCBbXSAqL1xuICBpbmhlcml0Pzogc3RyaW5nW11cbn1cblxuLyoqIEhvdyBgbWQuY29tcG9uZW50YCB0dXJucyBHaXRIdWIgYWxlcnRzLCBhIGJsb2NrIHF1b3RlIG9wZW5pbmcgd2l0aCBgWyFUWVBFXWAsIGludG8gYSBjb21wb25lbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0UnVsZSB7XG4gIC8qKiBUaGUgY29tcG9uZW50IGFuIGFsZXJ0IGJlY29tZXMuICovXG4gIGNvbXBvbmVudDogc3RyaW5nXG4gIC8qKiBUaGUgYXR0cmlidXRlIHRoYXQgZ2V0cyB0aGUgYWxlcnQncyB0eXBlLiAqL1xuICB0eXBlQXM6IHN0cmluZ1xuICAvKiogRWFjaCBhbGVydCB0eXBlLCBhcyB3cml0dGVuLCB0byB0aGUgdmFsdWUgb2YgYHR5cGVBc2A7IG90aGVyIHR5cGVzIHN0YXkgYmxvY2sgcXVvdGVzLiAqL1xuICB0eXBlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxufVxuXG4vKiogV2hhdCBgbWQuY29tcG9uZW50YCBkb2VzIHdpdGggYSBkaXJlY3RpdmUgbm8gcnVsZSBjb252ZXJ0cy4gKi9cbmV4cG9ydCB0eXBlIFVua25vd25EaXJlY3RpdmVzID0gXCJrZWVwXCIgfCBcInNvdXJjZVwiXG5cbi8qKiBIb3cgYG1kLmNvbXBvbmVudGAgdHVybnMgbWF0Y2hpbmcgY29kZSBibG9ja3MgaW50byBhIGNvbXBvbmVudCwgb3IgZ3JvdXBzIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVSdWxlIHtcbiAgLyoqIFRoZSBibG9jaydzIGxhbmd1YWdlLCBvciBzZXZlcmFsOyBhbnkgd2hlbiBsZWZ0IG91dC4gKi9cbiAgbGFuZz86IE5hbWVzIHwgbnVsbFxuICAvKiogQSBga2V5PVwidmFsdWVcImAgdGhlIGJsb2NrJ3MgbWV0YSBtdXN0IGhvbGQuICovXG4gIG1ldGE/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgY29tcG9uZW50IHRoZSBibG9jayBiZWNvbWVzOyBsZWZ0IG91dCwgdGhlIGJsb2NrIHN0YXlzIGNvZGUgYW5kIG9ubHkgZ3JvdXBzLiAqL1xuICBjb21wb25lbnQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYXR0cmlidXRlIHRoYXQgZ2V0cyB0aGUgY29kZTsgbGVmdCBvdXQsIHRoZSBjb2RlIGlzIHRoZSBjb21wb25lbnQncyB0ZXh0LiAqL1xuICB2YWx1ZUFzPzogc3RyaW5nIHwgbnVsbFxuICAvKiogTWV0YSBga2V5PVwidmFsdWVcImAgcGFpcnMgdG8ga2VlcCBhcyBhdHRyaWJ1dGVzLCBpbiBvcmRlci4gKi9cbiAgYXR0cmlidXRlcz86IEF0dHJpYnV0ZVJ1bGVbXVxuICAvKiogV3JhcCBydW5zIG9mIGFkamFjZW50IGJsb2NrcyB0aGlzIHJ1bGUgbWF0Y2hlZCBpbiBhbm90aGVyIGNvbXBvbmVudC4gKi9cbiAgZ3JvdXA/OiBDb2RlR3JvdXBSdWxlIHwgbnVsbFxufVxuXG4vKiogVGhlIGNvbXBvbmVudCB3cmFwcGluZyBhIHJ1biBvZiBhZGphY2VudCBjb2RlIGJsb2NrcyBvbmUgcnVsZSBtYXRjaGVkOyB0aGUgbWV0YSBrZXlzIGl0IHJlYWRzIGFyZSB0YWtlbiBvdXQgb2YgZWFjaCBibG9jaydzIG1ldGEuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVHcm91cFJ1bGUge1xuICAvKiogVGhlIHdyYXBwaW5nIGNvbXBvbmVudC4gKi9cbiAgY29tcG9uZW50OiBzdHJpbmdcbiAgLyoqIFRoZSBzaG9ydGVzdCBydW4gd3JhcHBlZDsgMiB3aGVuIGxlZnQgb3V0LiAqL1xuICBtaW4/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgYXR0cmlidXRlIHRoYXQgZ2V0cyB0aGUgcnVuJ3MgdmFsdWVzIG9mIHRoZSBydWxlJ3MgYG1ldGFgIGtleSwgYXMgYSBKU09OIGxpc3QuICovXG4gIGNvbGxlY3Q/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBNZXRhIGtleXMgdGhlIHdyYXBwZXIgY29waWVzIGZyb20gdGhlIHJ1bidzIGZpcnN0IGJsb2NrIGFzIGF0dHJpYnV0ZXMuIEBkZWZhdWx0IFtdICovXG4gIGluaGVyaXQ/OiBzdHJpbmdbXVxufVxuXG4vKiogYG1kLnBhY2thZ2VDb21tYW5kYDogYSBmZW5jZWQgYmxvY2sgb2YgcGFja2FnZS1tYW5hZ2VyIGNvbW1hbmRzLCBpdHMgbGFuZ3VhZ2UgbmFtaW5nIHRoZSBlY29zeXN0ZW0gKGBucG1gLCBgcGlwYCwgYGNhcmdvYCksIGludG8gb25lIGNvbXBvbmVudCB3aXRoIHRoZSBjb21tYW5kcyBjb252ZXJ0ZWQgZm9yIGVhY2ggbWFuYWdlciwgYXMgYEBkb2N1c2F1cnVzL3JlbWFyay1wbHVnaW4tbnBtMnlhcm5gIGRvZXMgZm9yIG5wbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZUNvbW1hbmRPcHRpb25zIHtcbiAgLyoqIFRoZSBjb21wb25lbnQgYSBibG9jayBiZWNvbWVzOyBvbmUgc3RyaW5nIGF0dHJpYnV0ZSBwZXIgbWFuYWdlci4gQGRlZmF1bHQgXCJQYWNrYWdlVGFic1wiICovXG4gIGNvbXBvbmVudD86IHN0cmluZ1xuICAvKiogRWFjaCBlY29zeXN0ZW0ncyBtYW5hZ2VycywgaW4gYXR0cmlidXRlIG9yZGVyOyBhbiBlbXB0eSBsaXN0IGxlYXZlcyBpdHMgYmxvY2tzIGNvZGUuICovXG4gIGVjb3N5c3RlbXM/OiBFY29zeXN0ZW1zXG59XG5cbi8qKiBUaGUgbWFuYWdlcnMgYG1kLnBhY2thZ2VDb21tYW5kYCBjb252ZXJ0cyBlYWNoIGVjb3N5c3RlbSdzIGNvbW1hbmRzIGZvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWNvc3lzdGVtcyB7XG4gIC8qKiBNYW5hZ2VycyBmb3IgYG5wbWAgYmxvY2tzLCBjb252ZXJ0ZWQgYXMgbnBtLXRvLXlhcm4gY29udmVydHM7IG5wbSwgcG5wbSwgeWFybiBhbmQgYnVuIGJ5IGRlZmF1bHQuICovXG4gIG5wbT86IE5wbU1hbmFnZXJbXVxuICAvKiogTWFuYWdlcnMgZm9yIGBwaXBgIGJsb2NrczsgcGlwLCB1diwgcG9ldHJ5IGFuZCBwZG0gYnkgZGVmYXVsdC4gKi9cbiAgcGlwPzogUGlwTWFuYWdlcltdXG4gIC8qKiBNYW5hZ2VycyBmb3IgYGNhcmdvYCBibG9ja3M7IGNhcmdvIGFuZCBjYXJnby1iaW5zdGFsbCBieSBkZWZhdWx0LiAqL1xuICBjYXJnbz86IENhcmdvTWFuYWdlcltdXG59XG5cbi8qKiBBIEphdmFTY3JpcHQgcGFja2FnZSBtYW5hZ2VyIGFuIGBucG1gIGNvbW1hbmQgY29udmVydHMgdG8uICovXG5leHBvcnQgdHlwZSBOcG1NYW5hZ2VyID0gXCJucG1cIiB8IFwicG5wbVwiIHwgXCJ5YXJuXCIgfCBcImJ1blwiIHwgXCJkZW5vXCIgfCBcIm51YlwiXG5cbi8qKiBBIFB5dGhvbiBwYWNrYWdlIG1hbmFnZXIgYSBgcGlwYCBjb21tYW5kIGNvbnZlcnRzIHRvLiAqL1xuZXhwb3J0IHR5cGUgUGlwTWFuYWdlciA9IFwicGlwXCIgfCBcInV2XCIgfCBcInBvZXRyeVwiIHwgXCJwZG1cIlxuXG4vKiogQSBSdXN0IGluc3RhbGxlciBhIGBjYXJnb2AgY29tbWFuZCBjb252ZXJ0cyB0by4gKi9cbmV4cG9ydCB0eXBlIENhcmdvTWFuYWdlciA9IFwiY2FyZ29cIiB8IFwiY2FyZ28tYmluc3RhbGxcIlxuXG4vKiogYG1kLmhlYWRpbmdJZGA6IGB7I2lkfWAgYXQgdGhlIGVuZCBvZiBhIGhlYWRpbmcsIGFmdGVyIGEgc3BhY2UsIGFzIGl0cyBpZCwgYXMgcmVtYXJrLWhlYWRpbmctaWQgcmVhZHMgaXQ7IGhlYWRpbmdzIHdpdGhvdXQgb25lIGtlZXAgbm9uZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGluZ0lkT3B0aW9ucyB7XG4gIC8qKiBSZWFkIGEgd2hvbGUgYXR0cmlidXRlIGxpc3QsIGB7I2lkIC5jbGFzcyBrZXk9dmFsdWUga2V5PVwidiB3XCJ9YCwgYXMgZGlyZWN0aXZlcyB3cml0ZSB0aGVpcnM6IGNsYXNzZXMgYmVjb21lIGBjbGFzc05hbWVgIGFuZCBvdGhlciBrZXlzIHByb3BlcnRpZXMuIEBkZWZhdWx0IGZhbHNlICovXG4gIGF0dHJpYnV0ZXM/OiBib29sZWFuXG4gIC8qKiBMaXRlcmFsIHN1ZmZpeGVzLCBzdWNoIGFzIGBbc3RlcF1gLCBzdHJpcHBlZCBmcm9tIGEgaGVhZGluZydzIGVuZCBmb3IgdGhlIGF0dHJpYnV0ZXMgZWFjaCBuYW1lcywgYSB2YWx1ZSBvciBgdHJ1ZWAgZm9yIGEgYmFyZSBvbmU6IGB7XCJbc3RlcF1cIjoge1wiZGF0YS1zdGVwXCI6IHRydWV9fWAuICovXG4gIG1hcmtlcnM/OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBNYXJrZXJWYWx1ZT4+XG59XG5cbi8qKiBBbiBhdHRyaWJ1dGUgYSBoZWFkaW5nIG1hcmtlciBzZXRzOiBpdHMgdmFsdWUsIG9yIGB0cnVlYCBmb3IgdGhlIGJhcmUgYXR0cmlidXRlLiAqL1xuZXhwb3J0IHR5cGUgTWFya2VyVmFsdWUgPSBib29sZWFuIHwgc3RyaW5nXG5cbi8qKiBgbWQucGF0aFJld3JpdGVgOiB0aGUgVVJMcyBvZiBpbWFnZXMsIGxpbmtzIGFuZCBkZWZpbml0aW9ucyBhcyBhIHNpdGUgc2VydmVzIHRoZW06IHJlbGF0aXZlIG9uZXMgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgZmlsZSdzIHBhdGggYW5kIG1hZGUgcm9vdC1yZWxhdGl2ZSwgZXZlcnkgcm9vdC1yZWxhdGl2ZSBvbmUgdW5kZXIgYGJhc2VgLCBhbmQgbGlua3MgdG8gTWFya2Rvd24gZmlsZXMgdHVybmVkIGludG8gcGFnZSBVUkxzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXRoUmV3cml0ZU9wdGlvbnMge1xuICAvKiogVGhlIGRpcmVjdG9yeSBVUkxzIGNvdW50IGZyb20sIGFzIHRoZSBmaWxlJ3MgcGF0aCBzcGVsbHMgaXQ7IHRoZSBwYXRoJ3Mgb3duIHN0YXJ0aW5nIHBvaW50IHdoZW4gbGVmdCBvdXQuICovXG4gIHJvb3Q/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBhdCwgc3VjaCBhcyBgL2RvY3NgLCBwdXQgYmVmb3JlIGV2ZXJ5IHJvb3QtcmVsYXRpdmUgVVJMIG9uY2UuICovXG4gIGJhc2U/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgbm9kZXMgd2hvc2UgVVJMcyBhcmUgcmV3cml0dGVuOyBpbWFnZXMsIGxpbmtzIGFuZCBkZWZpbml0aW9ucyB3aGVuIGxlZnQgb3V0LiAqL1xuICBub2Rlcz86IFVybE5vZGVbXSB8IG51bGxcbiAgLyoqIE1hcmtkb3duIGZpbGVzLCByZWxhdGl2ZSB0byBgcm9vdGAsIHRvIHRoZSBVUkwgb2YgdGhlaXIgcGFnZTsgYSBsaW5rIHRvIG9uZSBvZiB0aGVtIHRha2VzIGl0LCBiZWZvcmUgYG1hcmtkb3duTGlua3NgIGFwcGxpZXMuIEBkZWZhdWx0IHt9ICovXG4gIHBhZ2VzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAvKiogSG93IGEgbGluayB0byBhIE1hcmtkb3duIGZpbGUgbm8gcGFnZSBuYW1lcyBiZWNvbWVzIGEgVVJMLiAqL1xuICBtYXJrZG93bkxpbmtzPzogTWFya2Rvd25MaW5rc1xufVxuXG4vKiogQSBub2RlIHdpdGggYSBVUkwuICovXG5leHBvcnQgdHlwZSBVcmxOb2RlID0gXCJpbWFnZVwiIHwgXCJsaW5rXCIgfCBcImRlZmluaXRpb25cIlxuXG4vKiogSG93IGEgbGluayB0byBhIE1hcmtkb3duIGZpbGUgYmVjb21lcyBhIFVSTC4gKi9cbmV4cG9ydCB0eXBlIE1hcmtkb3duTGlua3MgPSBcImtlZXBcIiB8IFwiZGlyZWN0b3J5XCIgfCBcImh0bWxcIlxuXG4vKiogYG1kLnNoaWZ0SGVhZGluZ2A6IGV2ZXJ5IGhlYWRpbmcncyBkZXB0aCBtb3ZlZCBieSBgc2hpZnRgIGFuZCBrZXB0IHdpdGhpbiAxIHRvIDYsIGFzIHJlaHlwZS1zaGlmdC1oZWFkaW5nIG1vdmVzIGhhc3QncywgYWZ0ZXIgdGhlIGRvY3VtZW50J3MgdGl0bGUgaXMgZHJvcHBlZCB3aGVuIGFza2VkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaGlmdEhlYWRpbmdPcHRpb25zIHtcbiAgLyoqIFRoZSBsZXZlbHMgYWRkZWQgdG8gZWFjaCBoZWFkaW5nJ3MgZGVwdGg6IGAtMWAgbWFrZXMgYW4gaDIgYW4gaDEsIGAxYCBhbiBoMSBhbiBoMi4gQGRlZmF1bHQgMCAqL1xuICBzaGlmdD86IG51bWJlclxuICAvKiogRHJvcCB0aGUgZG9jdW1lbnQncyBmaXJzdCBub2RlIHdoZW4gaXQgaXMgYW4gaDEsIGxvb2tpbmcgcGFzdCBmcm9udG1hdHRlciBhbmQgRVNNLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBkcm9wVGl0bGU/OiBib29sZWFuXG59XG5cbi8qKiBgbWQuc3RyaXBgOiBtZGFzdCBkb3duIHRvIGl0cyB0ZXh0LCBhcyBzdHJpcC1tYXJrZG93biBkb2VzOiBjb2RlLCBIVE1MLCB0YWJsZXMgYW5kIHRoZSBsaWtlIGRyb3BwZWQsIGhlYWRpbmdzIG1hZGUgcGFyYWdyYXBocywgZm9ybWF0dGluZyB1bndyYXBwZWQuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmlwT3B0aW9ucyB7XG4gIC8qKiBOb2RlIHR5cGVzIHRvIGxlYXZlIGFzIHRoZXkgYXJlLCBzdWNoIGFzIGBpbmxpbmVDb2RlYC4gQGRlZmF1bHQgW10gKi9cbiAga2VlcD86IHN0cmluZ1tdXG4gIC8qKiBOb2RlIHR5cGVzIHRvIGRyb3AsIGJlc2lkZXMgdGhvc2Ugc3RyaXAtbWFya2Rvd24gZHJvcHMuIEBkZWZhdWx0IFtdICovXG4gIHJlbW92ZT86IHN0cmluZ1tdXG59XG5cbi8qKiBgbWQudG9jYDogYSB0YWJsZSBvZiBjb250ZW50cyB1bmRlciB0aGUgZmlyc3QgaGVhZGluZyBtYXRjaGluZyBgaGVhZGluZ2AsIHJlcGxhY2luZyB3aGF0IHNhdCBiZXR3ZWVuIGl0IGFuZCB0aGUgbmV4dCBoZWFkaW5nIGFzIGRlZXAgb3Igc2hhbGxvd2VyLCBhcyByZW1hcmstdG9jIG1ha2VzIGl0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb2NPcHRpb25zIHtcbiAgLyoqIFRoZSBoZWFkaW5nIHRvIHB1dCB0aGUgdGFibGUgdW5kZXIsIGFzIEphdmFTY3JpcHQgcmVndWxhciBleHByZXNzaW9uIHNvdXJjZSBtYXRjaGVkIGFnYWluc3QgaXRzIHdob2xlIHRleHQsIGNhc2UtaW5zZW5zaXRpdmVseTsgYCh0YWJsZVsgLV1vZlsgLV0pP2NvbnRlbnRzP3x0b2NgIHdoZW4gdW5zZXQuICovXG4gIGhlYWRpbmc/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVlcGVzdCBoZWFkaW5nIHJhbmsgdG8gbGlzdCwgMSB0byA2LiAqL1xuICBtYXhEZXB0aD86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBzaGFsbG93ZXN0IGhlYWRpbmcgcmFuayB0byBsaXN0LCAxIHRvIDYuICovXG4gIG1pbkRlcHRoPzogbnVtYmVyIHwgbnVsbFxuICAvKiogSGVhZGluZ3MgdG8gbGVhdmUgb3V0LCBhcyBKYXZhU2NyaXB0IHJlZ3VsYXIgZXhwcmVzc2lvbiBzb3VyY2UgbWF0Y2hlZCBhZ2FpbnN0IHRoZWlyIHdob2xlIHRleHQsIGNhc2UtaW5zZW5zaXRpdmVseS4gKi9cbiAgc2tpcD86IHN0cmluZyB8IG51bGxcbiAgLyoqIEtlZXAgdGhlIGxpc3QgY29tcGFjdCwgd2l0aG91dCBibGFuayBsaW5lcyBiZXR3ZWVuIGl0ZW1zOyBgdHJ1ZWAgd2hlbiB1bnNldC4gKi9cbiAgdGlnaHQ/OiBib29sZWFuIHwgbnVsbFxuICAvKiogTnVtYmVyIHRoZSBsaXN0IGluc3RlYWQgb2YgYnVsbGV0aW5nIGl0LiAqL1xuICBvcmRlcmVkPzogYm9vbGVhbiB8IG51bGxcbiAgLyoqIFdoYXQgZWFjaCBsaW5rJ3MgZnJhZ21lbnQgc3RhcnRzIHdpdGgsIHN1Y2ggYXMgYHVzZXItY29udGVudC1gLiAqL1xuICBwcmVmaXg/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgcGFyZW50cyB3aG9zZSBoZWFkaW5ncyBhcmUgbGlzdGVkLCBhcyBhIHVuaXN0LXV0aWwtaXMgdGVzdDogYSBub2RlIHR5cGUsIGFuIG9iamVjdCBvZiBmaWVsZHMgYSBwYXJlbnQgbXVzdCBlcXVhbCwgb3IgYSBsaXN0IG9mIHRoZXNlOyBvbmx5IHRoZSByb290IHdoZW4gdW5zZXQuICovXG4gIHBhcmVudHM/OiBQYXJlbnRUZXN0IHwgbnVsbFxufVxuXG4vKiogQSB1bmlzdC11dGlsLWlzIHRlc3Qgb2YgYSBub2RlLCB3cml0dGVuIGFzIEpTT046IG9uZSBjaGVjaywgb3IgYSBsaXN0IGFueSBvZiB3aGljaCBwYXNzZXMuICovXG5leHBvcnQgdHlwZSBQYXJlbnRUZXN0ID0gUGFyZW50Q2hlY2sgfCBQYXJlbnRDaGVja1tdXG5cbi8qKiBPbmUgdW5pc3QtdXRpbC1pcyBjaGVjazogYSBub2RlIHR5cGUsIG9yIGZpZWxkcyBhIG5vZGUgbXVzdCBlcXVhbC4gKi9cbmV4cG9ydCB0eXBlIFBhcmVudENoZWNrID0gc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cblxuLyoqIGBtZC5zdHJpbmdpZnlgOiBtZGFzdCBpbnRvIE1hcmtkb3duOyBvcHRpb25zIG5hbWVkIGFzIG1kYXN0LXV0aWwtdG8tbWFya2Rvd24gbmFtZXMgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5naWZ5T3B0aW9ucyB7XG4gIC8qKiBUaGUgbWFya2VyIG9mIHVub3JkZXJlZCBsaXN0IGl0ZW1zOiBgKmAsIGArYCBvciBgLWAuICovXG4gIGJ1bGxldD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBtYXJrZXIgb2Ygb3JkZXJlZCBsaXN0IGl0ZW1zOiBgLmAgb3IgYClgLiAqL1xuICBidWxsZXRPcmRlcmVkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIG1hcmtlciBvZiBhIGxpc3QgcmlnaHQgYWZ0ZXIgYSBsaXN0IHdpdGggYGJ1bGxldGAuICovXG4gIGJ1bGxldE90aGVyPzogc3RyaW5nIHwgbnVsbFxuICAvKiogQ2xvc2UgQVRYIGhlYWRpbmdzIHdpdGggYXMgbWFueSBgI2AgYXMgdGhleSBvcGVuIHdpdGguIEBkZWZhdWx0IGZhbHNlICovXG4gIGNsb3NlQXR4PzogYm9vbGVhblxuICAvKiogVGhlIG1hcmtlciBvZiBlbXBoYXNpczogYCpgIG9yIGBfYC4gKi9cbiAgZW1waGFzaXM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgbWFya2VyIG9mIGZlbmNlZCBjb2RlOiBgYCBgIGBgIG9yIGB+YC4gKi9cbiAgZmVuY2U/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBGZW5jZSBjb2RlOyBgZmFsc2VgIGluZGVudHMgaXQgd2hlcmUgaXQgY2FuLiBAZGVmYXVsdCB0cnVlICovXG4gIGZlbmNlcz86IGJvb2xlYW5cbiAgLyoqIE51bWJlciBvcmRlcmVkIGxpc3QgaXRlbXMgdXAgZnJvbSBgc3RhcnRgLiBAZGVmYXVsdCB0cnVlICovXG4gIGluY3JlbWVudExpc3RNYXJrZXI/OiBib29sZWFuXG4gIC8qKiBIb3cgbGlzdCBpdGVtIGNvbnRlbnQgaXMgaW5kZW50ZWQ6IGBvbmVgLCBgdGFiYCBvciBgbWl4ZWRgLiAqL1xuICBsaXN0SXRlbUluZGVudD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBtYXJrZXIgb2YgdGl0bGVzOiBgXCJgIG9yIGAnYC4gKi9cbiAgcXVvdGU/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXcml0ZSBsaW5rcyBhcyByZXNvdXJjZXMgZXZlbiB3aGVyZSBhbiBhdXRvbGluayB3b3VsZCBkby4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcmVzb3VyY2VMaW5rPzogYm9vbGVhblxuICAvKiogVGhlIG1hcmtlciBvZiB0aGVtYXRpYyBicmVha3M6IGAqYCwgYC1gIG9yIGBfYC4gKi9cbiAgcnVsZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIEhvdyBtYW55IG1hcmtlcnMgYSB0aGVtYXRpYyBicmVhayBoYXMsIDMgb3IgbW9yZS4gKi9cbiAgcnVsZVJlcGV0aXRpb24/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBQdXQgc3BhY2VzIGJldHdlZW4gdGhlIG1hcmtlcnMgb2YgYSB0aGVtYXRpYyBicmVhay4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcnVsZVNwYWNlcz86IGJvb2xlYW5cbiAgLyoqIFdyaXRlIGhlYWRpbmdzIG9mIHJhbmsgMSBhbmQgMiBhcyBzZXRleHQgaGVhZGluZ3MuIEBkZWZhdWx0IGZhbHNlICovXG4gIHNldGV4dD86IGJvb2xlYW5cbiAgLyoqIFRoZSBtYXJrZXIgb2Ygc3Ryb25nOiBgKmAgb3IgYF9gLiAqL1xuICBzdHJvbmc/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBKb2luIGRlZmluaXRpb25zIHdpdGggbm8gYmxhbmsgbGluZSBiZXR3ZWVuIHRoZW0uIEBkZWZhdWx0IGZhbHNlICovXG4gIHRpZ2h0RGVmaW5pdGlvbnM/OiBib29sZWFuXG4gIC8qKiBFeHRyYSBwYXR0ZXJucyBvZiBjaGFyYWN0ZXJzIHRvIGVzY2FwZS4gKi9cbiAgdW5zYWZlPzogVW5zYWZlUGF0dGVybltdXG59XG5cbi8qKiBBIGNoYXJhY3RlciB0byBlc2NhcGUgd2hlcmUgaXQgd291bGQgb3RoZXJ3aXNlIHN0YXJ0IG9yIGVuZCBzeW50YXguICovXG5leHBvcnQgaW50ZXJmYWNlIFVuc2FmZVBhdHRlcm4ge1xuICAvKiogVGhlIGNoYXJhY3RlciwgZXNjYXBlZCBhcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB3b3VsZCBuZWVkIGl0LiBAZGVmYXVsdCBcIlwiICovXG4gIGNoYXJhY3Rlcj86IHN0cmluZ1xuICAvKiogQSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBtdXN0IG1hdGNoIHJpZ2h0IGJlZm9yZSB0aGUgY2hhcmFjdGVyLiAqL1xuICBiZWZvcmU/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGF0IG11c3QgbWF0Y2ggcmlnaHQgYWZ0ZXIgdGhlIGNoYXJhY3Rlci4gKi9cbiAgYWZ0ZXI/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBPbmx5IGF0IHRoZSBzdGFydCBvZiBhIGxpbmUsIGFmdGVyIGFueSBpbmRlbnQuIEBkZWZhdWx0IGZhbHNlICovXG4gIGF0QnJlYWs/OiBib29sZWFuXG4gIC8qKiBPbmx5IGluc2lkZSBvbmUgb2YgdGhlc2UgY29uc3RydWN0cy4gKi9cbiAgaW5Db25zdHJ1Y3Q/OiBOYW1lcyB8IG51bGxcbiAgLyoqIE5ldmVyIGluc2lkZSBvbmUgb2YgdGhlc2UgY29uc3RydWN0cy4gKi9cbiAgbm90SW5Db25zdHJ1Y3Q/OiBOYW1lcyB8IG51bGxcbiAgLyoqIE9ubHkgYXQgdGhlIHN0YXJ0IG9mIGEgbm9kZSByaWdodCBhZnRlciBvbmUgb2YgdGhlc2Ugbm9kZSB0eXBlcy4gKi9cbiAgYmVmb3JlTm9kZT86IE5hbWVzIHwgbnVsbFxuICAvKiogT25seSBhdCB0aGUgZW5kIG9mIGEgbm9kZSByaWdodCBiZWZvcmUgb25lIG9mIHRoZXNlIG5vZGUgdHlwZXMuICovXG4gIGFmdGVyTm9kZT86IE5hbWVzIHwgbnVsbFxuICAvKiogUmVhZCBgYmVmb3JlYCBhbmQgYGFmdGVyYCB3aXRoIFVuaWNvZGUgY2xhc3NlcyBzdWNoIGFzIGBcXHB7TH1gLiBAZGVmYXVsdCBmYWxzZSAqL1xuICB1bmljb2RlPzogYm9vbGVhblxufVxuXG4vKiogYG1kLnRvSHRtbGA6IG1kYXN0IGludG8gaGFzdDsgb3B0aW9ucyBuYW1lZCBhcyByZW1hcmstcmVoeXBlIG5hbWVzIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIFRvSHRtbE9wdGlvbnMge1xuICAvKiogS2VlcCByYXcgSFRNTCBpbiB0aGUgdHJlZSBpbnN0ZWFkIG9mIGRyb3BwaW5nIGl0LiBAZGVmYXVsdCBmYWxzZSAqL1xuICBhbGxvd0Rhbmdlcm91c0h0bWw/OiBib29sZWFuXG4gIC8qKiBUdXJuIGVhY2ggbGluZSBlbmRpbmcgaW4gdGV4dCBpbnRvIGEgYDxicj5gLCBhcyByZW1hcmstYnJlYWtzIGRvZXMuIEBkZWZhdWx0IGZhbHNlICovXG4gIGJyZWFrcz86IGJvb2xlYW5cbiAgLyoqIFdoYXQgZm9vdG5vdGUgYGlkYHMgc3RhcnQgd2l0aCwgc28gdGhleSBjYW5ub3QgY2xvYmJlciB0aGUgcGFnZSdzOyBgdXNlci1jb250ZW50LWAgd2hlbiB1bnNldC4gKi9cbiAgY2xvYmJlclByZWZpeD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB0ZXh0IG9mIGVhY2ggZm9vdG5vdGUncyBiYWNrIHJlZmVyZW5jZTsgYOKGqWAsIG51bWJlcmVkIGZyb20gdGhlIHNlY29uZCwgd2hlbiB1bnNldC4gKi9cbiAgZm9vdG5vdGVCYWNrQ29udGVudD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBgYXJpYS1sYWJlbGAgb2YgZWFjaCBmb290bm90ZSdzIGJhY2sgcmVmZXJlbmNlOyBgQmFjayB0byByZWZlcmVuY2UgMWAgYW5kIHNvIG9uIHdoZW4gdW5zZXQuICovXG4gIGZvb3Rub3RlQmFja0xhYmVsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGhlYWRpbmcgb2YgdGhlIGZvb3Rub3RlcyBzZWN0aW9uOyBgRm9vdG5vdGVzYCB3aGVuIHVuc2V0LiAqL1xuICBmb290bm90ZUxhYmVsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHRhZyBuYW1lIG9mIHRoZSBmb290bm90ZXMgc2VjdGlvbidzIGhlYWRpbmc7IGBoMmAgd2hlbiB1bnNldC4gKi9cbiAgZm9vdG5vdGVMYWJlbFRhZ05hbWU/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBOb2RlIHR5cGVzIHdpdGhvdXQgYSBoYW5kbGVyIHRvIGNvcHkgaW50byBoYXN0IGFzIHRoZXkgYXJlLCB0aGVpciBjaGlsZHJlbiBjb252ZXJ0ZWQuIEBkZWZhdWx0IFtdICovXG4gIHBhc3NUaHJvdWdoPzogc3RyaW5nW11cbiAgLyoqIEFuIGBhcmlhLWxhYmVsYCBmb3IgZWFjaCB0YXNrLWxpc3QgY2hlY2tib3gsIHNvIHNjcmVlbiByZWFkZXJzIG5hbWUgaXQ7IG5vbmUgd2hlbiBsZWZ0IG91dCwgYXMgcmVtYXJrLXJlaHlwZSB3cml0ZXMgbm9uZS4gKi9cbiAgdGFza0xpc3RMYWJlbHM/OiBUYXNrTGlzdExhYmVscyB8IG51bGxcbn1cblxuLyoqIFRoZSBsYWJlbHMgb2YgdGFzay1saXN0IGNoZWNrYm94ZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhc2tMaXN0TGFiZWxzIHtcbiAgLyoqIFRoZSBsYWJlbCBvZiBhIGNoZWNrZWQgYm94LCBzdWNoIGFzIGBDb21wbGV0ZWQgdGFza2AuICovXG4gIGNoZWNrZWQ6IHN0cmluZ1xuICAvKiogVGhlIGxhYmVsIG9mIGFuIHVuY2hlY2tlZCBib3gsIHN1Y2ggYXMgYFRhc2tgLiAqL1xuICB1bmNoZWNrZWQ6IHN0cmluZ1xufVxuXG4vKiogYG1kLnRvTmF0dXJhbExhbmd1YWdlYDogbWRhc3QgaW50byBubGNzdCwgdG9rZW5pemVkIGJ5IHRoZSBwcm9jZXNzb3IncyBuYXR1cmFsLWxhbmd1YWdlIHBhcnNlcjsgb3B0aW9ucyBuYW1lZCBhcyByZW1hcmstcmV0ZXh0IGFuZCBtZGFzdC11dGlsLXRvLW5sY3N0IG5hbWUgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9OYXR1cmFsTGFuZ3VhZ2VPcHRpb25zIHtcbiAgLyoqIE5vZGUgdHlwZXMgdG8gbGVhdmUgb3V0LCBiZXNpZGVzIGB0YWJsZWAsIGB0YWJsZVJvd2AgYW5kIGB0YWJsZUNlbGxgLiBAZGVmYXVsdCBbXSAqL1xuICBpZ25vcmU/OiBzdHJpbmdbXVxuICAvKiogTm9kZSB0eXBlcyB0byBrZWVwIGFzIG9uZSBgU291cmNlTm9kZWAgb2YgdGhlaXIgc291cmNlIHRleHQsIGJlc2lkZXMgYGlubGluZUNvZGVgLiBAZGVmYXVsdCBbXSAqL1xuICBzb3VyY2U/OiBzdHJpbmdbXVxufVxuXG4vKiogVGhlIGBtZC5wYXJzZWAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlKG9wdGlvbnM/OiBQYXJzZU9wdGlvbnMpOiBQbHVnaW48XCJtZC5wYXJzZVwiLCBQYXJzZU9wdGlvbnM+ICYgUGFyc2VyPFJvb3Q+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5wYXJzZVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5wYXJzZVwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQuZGlyZWN0aXZlYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aXZlKG9wdGlvbnM/OiBEaXJlY3RpdmVPcHRpb25zKTogUGx1Z2luPFwibWQuZGlyZWN0aXZlXCIsIERpcmVjdGl2ZU9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5kaXJlY3RpdmVcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQuZGlyZWN0aXZlXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5nZm1gIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZm0ob3B0aW9ucz86IEdmbU9wdGlvbnMpOiBQbHVnaW48XCJtZC5nZm1cIiwgR2ZtT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLmdmbVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5nZm1cIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG1kLmRlZmluaXRpb25MaXN0YCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5pdGlvbkxpc3QoKTogUGx1Z2luPFwibWQuZGVmaW5pdGlvbkxpc3RcIj4ge1xuICByZXR1cm4geyBuYW1lOiBcIm1kLmRlZmluaXRpb25MaXN0XCIgfVxufVxuXG4vKiogVGhlIGBtZC5tYXRoYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gbWF0aChvcHRpb25zPzogTWF0aE9wdGlvbnMpOiBQbHVnaW48XCJtZC5tYXRoXCIsIE1hdGhPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibWQubWF0aFwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5tYXRoXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5tZHhgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZHgob3B0aW9ucz86IE1keE9wdGlvbnMpOiBQbHVnaW48XCJtZC5tZHhcIiwgTWR4T3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLm1keFwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5tZHhcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG1kLmZyb250bWF0dGVyYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbnRtYXR0ZXIob3B0aW9ucz86IEZyb250bWF0dGVyT3B0aW9ucyk6IFBsdWdpbjxcIm1kLmZyb250bWF0dGVyXCIsIEZyb250bWF0dGVyT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLmZyb250bWF0dGVyXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm1kLmZyb250bWF0dGVyXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5jamtGcmllbmRseWAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNqa0ZyaWVuZGx5KCk6IFBsdWdpbjxcIm1kLmNqa0ZyaWVuZGx5XCI+IHtcbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5jamtGcmllbmRseVwiIH1cbn1cblxuLyoqIFRoZSBgbWQuZ2Vtb2ppYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gZ2Vtb2ppKG9wdGlvbnM/OiBHZW1vamlPcHRpb25zKTogUGx1Z2luPFwibWQuZ2Vtb2ppXCIsIEdlbW9qaU9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5nZW1vamlcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQuZ2Vtb2ppXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5zbWFydHlwYW50c2AgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNtYXJ0eXBhbnRzKG9wdGlvbnM/OiBTbWFydHlwYW50c09wdGlvbnMpOiBQbHVnaW48XCJtZC5zbWFydHlwYW50c1wiLCBTbWFydHlwYW50c09wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5zbWFydHlwYW50c1wiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5zbWFydHlwYW50c1wiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQuY29tcG9uZW50YCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gY29tcG9uZW50KG9wdGlvbnM/OiBDb21wb25lbnRPcHRpb25zKTogUGx1Z2luPFwibWQuY29tcG9uZW50XCIsIENvbXBvbmVudE9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5jb21wb25lbnRcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQuY29tcG9uZW50XCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5wYWNrYWdlQ29tbWFuZGAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhY2thZ2VDb21tYW5kKG9wdGlvbnM/OiBQYWNrYWdlQ29tbWFuZE9wdGlvbnMpOiBQbHVnaW48XCJtZC5wYWNrYWdlQ29tbWFuZFwiLCBQYWNrYWdlQ29tbWFuZE9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5wYWNrYWdlQ29tbWFuZFwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5wYWNrYWdlQ29tbWFuZFwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQuaGVhZGluZ0lkYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gaGVhZGluZ0lkKG9wdGlvbnM/OiBIZWFkaW5nSWRPcHRpb25zKTogUGx1Z2luPFwibWQuaGVhZGluZ0lkXCIsIEhlYWRpbmdJZE9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5oZWFkaW5nSWRcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQuaGVhZGluZ0lkXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5wYXRoUmV3cml0ZWAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhdGhSZXdyaXRlKG9wdGlvbnM/OiBQYXRoUmV3cml0ZU9wdGlvbnMpOiBQbHVnaW48XCJtZC5wYXRoUmV3cml0ZVwiLCBQYXRoUmV3cml0ZU9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5wYXRoUmV3cml0ZVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5wYXRoUmV3cml0ZVwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQuc2hpZnRIZWFkaW5nYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gc2hpZnRIZWFkaW5nKG9wdGlvbnM/OiBTaGlmdEhlYWRpbmdPcHRpb25zKTogUGx1Z2luPFwibWQuc2hpZnRIZWFkaW5nXCIsIFNoaWZ0SGVhZGluZ09wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5zaGlmdEhlYWRpbmdcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQuc2hpZnRIZWFkaW5nXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5zdHJpcGAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwKG9wdGlvbnM/OiBTdHJpcE9wdGlvbnMpOiBQbHVnaW48XCJtZC5zdHJpcFwiLCBTdHJpcE9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC5zdHJpcFwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5zdHJpcFwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQudG9jYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gdG9jKG9wdGlvbnM/OiBUb2NPcHRpb25zKTogUGx1Z2luPFwibWQudG9jXCIsIFRvY09wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJtZC50b2NcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQudG9jXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBtZC5zdHJpbmdpZnlgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnkob3B0aW9ucz86IFN0cmluZ2lmeU9wdGlvbnMpOiBQbHVnaW48XCJtZC5zdHJpbmdpZnlcIiwgU3RyaW5naWZ5T3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm1kLnN0cmluZ2lmeVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJtZC5zdHJpbmdpZnlcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG1kLnRvSHRtbGAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSHRtbChvcHRpb25zPzogVG9IdG1sT3B0aW9ucyk6IFBsdWdpbjxcIm1kLnRvSHRtbFwiLCBUb0h0bWxPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibWQudG9IdG1sXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm1kLnRvSHRtbFwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbWQudG9OYXR1cmFsTGFuZ3VhZ2VgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b05hdHVyYWxMYW5ndWFnZShvcHRpb25zPzogVG9OYXR1cmFsTGFuZ3VhZ2VPcHRpb25zKTogUGx1Z2luPFwibWQudG9OYXR1cmFsTGFuZ3VhZ2VcIiwgVG9OYXR1cmFsTGFuZ3VhZ2VPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibWQudG9OYXR1cmFsTGFuZ3VhZ2VcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibWQudG9OYXR1cmFsTGFuZ3VhZ2VcIiwgb3B0aW9ucyB9XG59XG4iXX0=
|
package/build/generated/nl.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Root } from "nlcst";
|
|
2
|
+
import type { Parser, Plugin } from "../models/plugin.ts";
|
|
2
3
|
/** `nl.parse`: natural language into nlcst. */
|
|
3
4
|
export interface ParseOptions {
|
|
4
5
|
/** The rules sentences and words are found by. */
|
|
@@ -76,7 +77,7 @@ export interface ContractionsOptions {
|
|
|
76
77
|
straight?: boolean | null;
|
|
77
78
|
}
|
|
78
79
|
/** The `nl.parse` plugin. */
|
|
79
|
-
export declare function parse(options?: ParseOptions): Plugin<"nl.parse", ParseOptions>;
|
|
80
|
+
export declare function parse(options?: ParseOptions): Plugin<"nl.parse", ParseOptions> & Parser<Root>;
|
|
80
81
|
/** The `nl.equality` plugin. */
|
|
81
82
|
export declare function equality(options?: EqualityOptions): Plugin<"nl.equality", EqualityOptions>;
|
|
82
83
|
/** The `nl.passive` plugin. */
|
package/build/generated/nl.js
CHANGED
|
@@ -59,4 +59,4 @@ export function contractions(options) {
|
|
|
59
59
|
export function indefiniteArticle() {
|
|
60
60
|
return { name: "nl.indefiniteArticle" };
|
|
61
61
|
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9nZW5lcmF0ZWQvbmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFO0FBK0YvRSw2QkFBNkI7QUFDN0IsTUFBTSxVQUFVLEtBQUssQ0FBQyxPQUFzQjtJQUMxQyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQTtJQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUN0QyxDQUFDO0FBRUQsZ0NBQWdDO0FBQ2hDLE1BQU0sVUFBVSxRQUFRLENBQUMsT0FBeUI7SUFDaEQsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUE7SUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDekMsQ0FBQztBQUVELCtCQUErQjtBQUMvQixNQUFNLFVBQVUsT0FBTyxDQUFDLE9BQXdCO0lBQzlDLElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFBO0lBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3hDLENBQUM7QUFFRCxtQ0FBbUM7QUFDbkMsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUE0QjtJQUN0RCxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFBO0lBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDNUMsQ0FBQztBQUVELHFDQUFxQztBQUNyQyxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUE7QUFDckMsQ0FBQztBQUVELHVDQUF1QztBQUN2QyxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQWdDO0lBQzlELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLENBQUE7SUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUNoRCxDQUFDO0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUE7QUFDakMsQ0FBQztBQUVELG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTRCO0lBQ3RELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUE7SUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sVUFBVSxNQUFNLENBQUMsT0FBdUI7SUFDNUMsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUE7SUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDdkMsQ0FBQztBQUVELG9DQUFvQztBQUNwQyxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQTZCO0lBQ3hELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUE7SUFDN0QsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUM3QyxDQUFDO0FBRUQseUNBQXlDO0FBQ3pDLE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFBO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZWQgYnkgYHBucG0gZ2VuZXJhdGU6YmluZGluZ3NgIGZyb20gdGhlIGNyYXRlJ3MgcGx1Z2luczsgZG8gbm90IGVkaXQuXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSBcIi4uL21vZGVscy9wbHVnaW4udHNcIlxuXG4vKiogYG5sLnBhcnNlYDogbmF0dXJhbCBsYW5ndWFnZSBpbnRvIG5sY3N0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZU9wdGlvbnMge1xuICAvKiogVGhlIHJ1bGVzIHNlbnRlbmNlcyBhbmQgd29yZHMgYXJlIGZvdW5kIGJ5LiAqL1xuICBsYW5ndWFnZT86IExhbmd1YWdlXG59XG5cbi8qKiBUaGUgbGFuZ3VhZ2UgYG5sLnBhcnNlYCByZWFkczogcGFyc2UtbGF0aW4ncyBydWxlcywgb3IgcGFyc2UtZW5nbGlzaCdzIG9uIHRvcCBvZiB0aGVtLiAqL1xuZXhwb3J0IHR5cGUgTGFuZ3VhZ2UgPSBcImxhdGluXCIgfCBcImVuZ2xpc2hcIlxuXG4vKiogYG5sLmVxdWFsaXR5YDogd2FybmluZ3MgYWJvdXQgaW5zZW5zaXRpdmUsIGluY29uc2lkZXJhdGUgd29yZGluZywgYXMgcmV0ZXh0LWVxdWFsaXR5OyBvcHRpb25zIGFyZSByZXRleHQtZXF1YWxpdHkncy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXF1YWxpdHlPcHRpb25zIHtcbiAgLyoqIFBocmFzZXMgbm90IHRvIHdhcm4gYWJvdXQuICovXG4gIGlnbm9yZT86IHN0cmluZ1tdIHwgbnVsbFxuICAvKiogV2hldGhlciBhIHBocmFzZSB1c2VkIG5leHQgdG8gaXRzIGNvdW50ZXJwYXJ0IChgaGUgb3Igc2hlYCkgaXMgZmluZS4gKi9cbiAgYmluYXJ5PzogYm9vbGVhbiB8IG51bGxcbn1cblxuLyoqIGBubC5wYXNzaXZlYDogd2FybmluZ3MgYWJvdXQgdGhlIHBhc3NpdmUgdm9pY2UsIGFzIHJldGV4dC1wYXNzaXZlOyBvcHRpb25zIGFyZSByZXRleHQtcGFzc2l2ZSdzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXNzaXZlT3B0aW9ucyB7XG4gIC8qKiBQYXJ0aWNpcGxlcyBub3QgdG8gd2FybiBhYm91dC4gKi9cbiAgaWdub3JlPzogc3RyaW5nW10gfCBudWxsXG59XG5cbi8qKiBgbmwucmVhZGFiaWxpdHlgOiB3YXJuaW5ncyBhYm91dCBzZW50ZW5jZXMgdG9vIGhhcmQgdG8gcmVhZCwgYXMgcmV0ZXh0LXJlYWRhYmlsaXR5OyBvcHRpb25zIGFyZSByZXRleHQtcmVhZGFiaWxpdHkncy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZGFiaWxpdHlPcHRpb25zIHtcbiAgLyoqIFRoZSBhZ2Ugb2YgdGhlIHRhcmdldCBhdWRpZW5jZTogMTYgYnkgZGVmYXVsdC4gKi9cbiAgYWdlPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIHNoYXJlIG9mIGFsZ29yaXRobXMgdGhhdCBtdXN0IGZpbmQgYSBzZW50ZW5jZSB0b28gaGFyZDogNC83IGJ5IGRlZmF1bHQuICovXG4gIHRocmVzaG9sZD86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBmZXdlc3Qgd29yZHMgYSBzZW50ZW5jZSBuZWVkcyB0byBiZSBjaGVja2VkOiA1IGJ5IGRlZmF1bHQuICovXG4gIG1pbldvcmRzPzogbnVtYmVyIHwgbnVsbFxufVxuXG4vKiogYG5sLnNlbnRlbmNlU3BhY2luZ2A6IHdhcm5pbmdzIGFib3V0IHRoZSBzcGFjZXMgYmV0d2VlbiBzZW50ZW5jZXMsIGFzIHJldGV4dC1zZW50ZW5jZS1zcGFjaW5nOyBvcHRpb25zIGFyZSByZXRleHQtc2VudGVuY2Utc3BhY2luZydzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZW50ZW5jZVNwYWNpbmdPcHRpb25zIHtcbiAgLyoqIFRoZSBzcGFjaW5nIGV4cGVjdGVkIGJldHdlZW4gc2VudGVuY2VzOiBgMWAgb3IgYFwic3BhY2VcImAgKHRoZSBkZWZhdWx0KSwgYDJgIG9yIGBcImRvdWJsZS1zcGFjZVwiYCwgYDBgIG9yIGBcIm5ld2xpbmVcImAuICovXG4gIHByZWZlcnJlZD86IFNwYWNpbmcgfCBudWxsXG59XG5cbi8qKiBBIHNwYWNpbmcgYmV0d2VlbiBzZW50ZW5jZXMsIGFzIGEgY291bnQgb2Ygc3BhY2VzIG9yIGJ5IG5hbWUuICovXG5leHBvcnQgdHlwZSBTcGFjaW5nID0gbnVtYmVyIHwgc3RyaW5nXG5cbi8qKiBgbmwuc21hcnR5cGFudHNgOiBzdHJhaWdodCBxdW90ZXMsIGRhc2hlcywgZG90cyBhbmQgYmFja3RpY2tzIGludG8gdHlwb2dyYXBoaWMgb25lczsgb3B0aW9ucyBhcyByZXRleHQtc21hcnR5cGFudHMgdGFrZXMgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnR5cGFudHNPcHRpb25zIHtcbiAgLyoqIFR1cm4gZG91YmxlIGJhY2t0aWNrcyBhbmQgZG91YmxlIHN0cmFpZ2h0IHNpbmdsZSBxdW90ZXMgaW50byBkb3VibGUgcXVvdGVzOyBgYWxsYCB0dXJucyBzaW5nbGUgb25lcyBpbnRvIHNpbmdsZSBxdW90ZXMgdG9vLCBhbmQgbmVlZHMgYHF1b3RlczogZmFsc2VgLiAqL1xuICBiYWNrdGlja3M/OiBCYWNrdGlja3NcbiAgLyoqIFRoZSBjbG9zaW5nIHF1b3RlcyB0byB1c2U6IGDigJ1gIGFuZCBg4oCZYCBieSBkZWZhdWx0LiAqL1xuICBjbG9zaW5nUXVvdGVzPzogUXVvdGVDaGFyYWN0ZXJzIHwgbnVsbFxuICAvKiogVHVybiB0d28gZGFzaGVzIGludG8gYW4gZW0gZGFzaDsgYG9sZHNjaG9vbGAgYW5kIGBpbnZlcnRlZGAgdHJlYXQgdGhyZWUgdG9vLiAqL1xuICBkYXNoZXM/OiBEYXNoZXNcbiAgLyoqIFR1cm4gdGhyZWUgZG90cyBpbnRvIGFuIGVsbGlwc2lzLCB3aXRoIHNwYWNlcyBiZXR3ZWVuIHRoZW0gb3Igd2l0aG91dC4gKi9cbiAgZWxsaXBzZXM/OiBFbGxpcHNlc1xuICAvKiogVGhlIG9wZW5pbmcgcXVvdGVzIHRvIHVzZTogYOKAnGAgYW5kIGDigJhgIGJ5IGRlZmF1bHQuICovXG4gIG9wZW5pbmdRdW90ZXM/OiBRdW90ZUNoYXJhY3RlcnMgfCBudWxsXG4gIC8qKiBUdXJuIHN0cmFpZ2h0IHF1b3RlcyBpbnRvIHNtYXJ0IG9uZXMuIEBkZWZhdWx0IHRydWUgKi9cbiAgcXVvdGVzPzogYm9vbGVhbiB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgQmFja3RpY2tzID0gYm9vbGVhbiB8IFwiYWxsXCJcblxuLyoqIFRoZSBxdW90ZSBjaGFyYWN0ZXJzIHRvIHVzZSBmb3IgZG91YmxlIGFuZCBzaW5nbGUgcXVvdGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdW90ZUNoYXJhY3RlcnMge1xuICBkb3VibGU6IHN0cmluZ1xuICBzaW5nbGU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBEYXNoZXMgPSBib29sZWFuIHwgXCJvbGRzY2hvb2xcIiB8IFwiaW52ZXJ0ZWRcIlxuXG5leHBvcnQgdHlwZSBFbGxpcHNlcyA9IGJvb2xlYW4gfCBcInNwYWNlZFwiIHwgXCJ1bnNwYWNlZFwiXG5cbi8qKiBgbmwucXVvdGVzYDogY2hlY2sgdGhhdCBxdW90ZXMgYW5kIGFwb3N0cm9waGVzIGFyZSBzdHJhaWdodCBvciBzbWFydCwgYXMgcHJlZmVycmVkLCBhdCBlYWNoIGxldmVsIG9mIG5lc3Rpbmc7IG9wdGlvbnMgYXMgcmV0ZXh0LXF1b3RlcyB0YWtlcyB0aGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdW90ZXNPcHRpb25zIHtcbiAgLyoqIFRoZSBzdHlsZSBvZiBxdW90ZXMgYW5kIGFwb3N0cm9waGVzIHRvIHByZWZlcjogYHNtYXJ0YCBieSBkZWZhdWx0LiAqL1xuICBwcmVmZXJyZWQ/OiBRdW90ZVN0eWxlIHwgbnVsbFxuICAvKiogU21hcnQgcXVvdGVzIGJ5IG5lc3RpbmcgbGV2ZWwsIGVhY2ggb25lIGNoYXJhY3RlciBvciBhbiBvcGVuaW5nIGFuZCBjbG9zaW5nIHBhaXI6IGBbXCLigJzigJ1cIiwgXCLigJjigJlcIl1gIGJ5IGRlZmF1bHQuICovXG4gIHNtYXJ0Pzogc3RyaW5nW10gfCBudWxsXG4gIC8qKiBTdHJhaWdodCBxdW90ZXMgYnkgbmVzdGluZyBsZXZlbDogYFtcIlxcXCJcIiwgXCInXCJdYCBieSBkZWZhdWx0LiAqL1xuICBzdHJhaWdodD86IHN0cmluZ1tdIHwgbnVsbFxufVxuXG4vKiogQSBzdHlsZSBvZiBxdW90ZXM6IHN0cmFpZ2h0IChgXCJgKSBvciBzbWFydCAoYOKAnOKAnWApLiAqL1xuZXhwb3J0IHR5cGUgUXVvdGVTdHlsZSA9IFwic21hcnRcIiB8IFwic3RyYWlnaHRcIlxuXG4vKiogYG5sLmNvbnRyYWN0aW9uc2A6IGNoZWNrIGFwb3N0cm9waGVzIGluIGNvbnRyYWN0aW9ucywgc3VjaCBhcyBgZG9u4oCZdGA7IG9wdGlvbnMgYXMgcmV0ZXh0LWNvbnRyYWN0aW9ucyB0YWtlcyB0aGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cmFjdGlvbnNPcHRpb25zIHtcbiAgLyoqIEFsc28gY2hlY2sgY29udHJhY3Rpb25zIHdyaXR0ZW4gYXMgbGl0ZXJhbHMsIHN1Y2ggYXMgYOKAnGhhc2504oCdYC4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgYWxsb3dMaXRlcmFscz86IGJvb2xlYW4gfCBudWxsXG4gIC8qKiBFeHBlY3Qgc3RyYWlnaHQgYXBvc3Ryb3BoZXMgKGAnYCkgaW5zdGVhZCBvZiBzbWFydCBvbmVzIChg4oCZYCkuIEBkZWZhdWx0IGZhbHNlICovXG4gIHN0cmFpZ2h0PzogYm9vbGVhbiB8IG51bGxcbn1cblxuLyoqIFRoZSBgbmwucGFyc2VgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShvcHRpb25zPzogUGFyc2VPcHRpb25zKTogUGx1Z2luPFwibmwucGFyc2VcIiwgUGFyc2VPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibmwucGFyc2VcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibmwucGFyc2VcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG5sLmVxdWFsaXR5YCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gZXF1YWxpdHkob3B0aW9ucz86IEVxdWFsaXR5T3B0aW9ucyk6IFBsdWdpbjxcIm5sLmVxdWFsaXR5XCIsIEVxdWFsaXR5T3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm5sLmVxdWFsaXR5XCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm5sLmVxdWFsaXR5XCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBubC5wYXNzaXZlYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gcGFzc2l2ZShvcHRpb25zPzogUGFzc2l2ZU9wdGlvbnMpOiBQbHVnaW48XCJubC5wYXNzaXZlXCIsIFBhc3NpdmVPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibmwucGFzc2l2ZVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJubC5wYXNzaXZlXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBubC5yZWFkYWJpbGl0eWAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRhYmlsaXR5KG9wdGlvbnM/OiBSZWFkYWJpbGl0eU9wdGlvbnMpOiBQbHVnaW48XCJubC5yZWFkYWJpbGl0eVwiLCBSZWFkYWJpbGl0eU9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJubC5yZWFkYWJpbGl0eVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJubC5yZWFkYWJpbGl0eVwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbmwucmVwZWF0ZWRXb3Jkc2AgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGVhdGVkV29yZHMoKTogUGx1Z2luPFwibmwucmVwZWF0ZWRXb3Jkc1wiPiB7XG4gIHJldHVybiB7IG5hbWU6IFwibmwucmVwZWF0ZWRXb3Jkc1wiIH1cbn1cblxuLyoqIFRoZSBgbmwuc2VudGVuY2VTcGFjaW5nYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gc2VudGVuY2VTcGFjaW5nKG9wdGlvbnM/OiBTZW50ZW5jZVNwYWNpbmdPcHRpb25zKTogUGx1Z2luPFwibmwuc2VudGVuY2VTcGFjaW5nXCIsIFNlbnRlbmNlU3BhY2luZ09wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJubC5zZW50ZW5jZVNwYWNpbmdcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibmwuc2VudGVuY2VTcGFjaW5nXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBubC5zdHJpbmdpZnlgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnkoKTogUGx1Z2luPFwibmwuc3RyaW5naWZ5XCI+IHtcbiAgcmV0dXJuIHsgbmFtZTogXCJubC5zdHJpbmdpZnlcIiB9XG59XG5cbi8qKiBUaGUgYG5sLnNtYXJ0eXBhbnRzYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gc21hcnR5cGFudHMob3B0aW9ucz86IFNtYXJ0eXBhbnRzT3B0aW9ucyk6IFBsdWdpbjxcIm5sLnNtYXJ0eXBhbnRzXCIsIFNtYXJ0eXBhbnRzT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm5sLnNtYXJ0eXBhbnRzXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm5sLnNtYXJ0eXBhbnRzXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBubC5xdW90ZXNgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBxdW90ZXMob3B0aW9ucz86IFF1b3Rlc09wdGlvbnMpOiBQbHVnaW48XCJubC5xdW90ZXNcIiwgUXVvdGVzT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm5sLnF1b3Rlc1wiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJubC5xdW90ZXNcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG5sLmNvbnRyYWN0aW9uc2AgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyYWN0aW9ucyhvcHRpb25zPzogQ29udHJhY3Rpb25zT3B0aW9ucyk6IFBsdWdpbjxcIm5sLmNvbnRyYWN0aW9uc1wiLCBDb250cmFjdGlvbnNPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibmwuY29udHJhY3Rpb25zXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm5sLmNvbnRyYWN0aW9uc1wiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbmwuaW5kZWZpbml0ZUFydGljbGVgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmRlZmluaXRlQXJ0aWNsZSgpOiBQbHVnaW48XCJubC5pbmRlZmluaXRlQXJ0aWNsZVwiPiB7XG4gIHJldHVybiB7IG5hbWU6IFwibmwuaW5kZWZpbml0ZUFydGljbGVcIiB9XG59XG4iXX0=
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9nZW5lcmF0ZWQvbmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFO0FBZ0cvRSw2QkFBNkI7QUFDN0IsTUFBTSxVQUFVLEtBQUssQ0FBQyxPQUFzQjtJQUMxQyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQTtJQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUN0QyxDQUFDO0FBRUQsZ0NBQWdDO0FBQ2hDLE1BQU0sVUFBVSxRQUFRLENBQUMsT0FBeUI7SUFDaEQsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUE7SUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDekMsQ0FBQztBQUVELCtCQUErQjtBQUMvQixNQUFNLFVBQVUsT0FBTyxDQUFDLE9BQXdCO0lBQzlDLElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFBO0lBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3hDLENBQUM7QUFFRCxtQ0FBbUM7QUFDbkMsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUE0QjtJQUN0RCxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFBO0lBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDNUMsQ0FBQztBQUVELHFDQUFxQztBQUNyQyxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUE7QUFDckMsQ0FBQztBQUVELHVDQUF1QztBQUN2QyxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQWdDO0lBQzlELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLENBQUE7SUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUNoRCxDQUFDO0FBRUQsaUNBQWlDO0FBQ2pDLE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUE7QUFDakMsQ0FBQztBQUVELG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTRCO0lBQ3RELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUE7SUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sVUFBVSxNQUFNLENBQUMsT0FBdUI7SUFDNUMsSUFBSSxPQUFPLEtBQUssU0FBUztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUE7SUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUE7QUFDdkMsQ0FBQztBQUVELG9DQUFvQztBQUNwQyxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQTZCO0lBQ3hELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUE7SUFDN0QsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUM3QyxDQUFDO0FBRUQseUNBQXlDO0FBQ3pDLE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFBO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZWQgYnkgYHBucG0gZ2VuZXJhdGU6YmluZGluZ3NgIGZyb20gdGhlIGNyYXRlJ3MgcGx1Z2luczsgZG8gbm90IGVkaXQuXG5cbmltcG9ydCB0eXBlIHsgUm9vdCB9IGZyb20gXCJubGNzdFwiXG5pbXBvcnQgdHlwZSB7IFBhcnNlciwgUGx1Z2luIH0gZnJvbSBcIi4uL21vZGVscy9wbHVnaW4udHNcIlxuXG4vKiogYG5sLnBhcnNlYDogbmF0dXJhbCBsYW5ndWFnZSBpbnRvIG5sY3N0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZU9wdGlvbnMge1xuICAvKiogVGhlIHJ1bGVzIHNlbnRlbmNlcyBhbmQgd29yZHMgYXJlIGZvdW5kIGJ5LiAqL1xuICBsYW5ndWFnZT86IExhbmd1YWdlXG59XG5cbi8qKiBUaGUgbGFuZ3VhZ2UgYG5sLnBhcnNlYCByZWFkczogcGFyc2UtbGF0aW4ncyBydWxlcywgb3IgcGFyc2UtZW5nbGlzaCdzIG9uIHRvcCBvZiB0aGVtLiAqL1xuZXhwb3J0IHR5cGUgTGFuZ3VhZ2UgPSBcImxhdGluXCIgfCBcImVuZ2xpc2hcIlxuXG4vKiogYG5sLmVxdWFsaXR5YDogd2FybmluZ3MgYWJvdXQgaW5zZW5zaXRpdmUsIGluY29uc2lkZXJhdGUgd29yZGluZywgYXMgcmV0ZXh0LWVxdWFsaXR5OyBvcHRpb25zIGFyZSByZXRleHQtZXF1YWxpdHkncy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXF1YWxpdHlPcHRpb25zIHtcbiAgLyoqIFBocmFzZXMgbm90IHRvIHdhcm4gYWJvdXQuICovXG4gIGlnbm9yZT86IHN0cmluZ1tdIHwgbnVsbFxuICAvKiogV2hldGhlciBhIHBocmFzZSB1c2VkIG5leHQgdG8gaXRzIGNvdW50ZXJwYXJ0IChgaGUgb3Igc2hlYCkgaXMgZmluZS4gKi9cbiAgYmluYXJ5PzogYm9vbGVhbiB8IG51bGxcbn1cblxuLyoqIGBubC5wYXNzaXZlYDogd2FybmluZ3MgYWJvdXQgdGhlIHBhc3NpdmUgdm9pY2UsIGFzIHJldGV4dC1wYXNzaXZlOyBvcHRpb25zIGFyZSByZXRleHQtcGFzc2l2ZSdzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXNzaXZlT3B0aW9ucyB7XG4gIC8qKiBQYXJ0aWNpcGxlcyBub3QgdG8gd2FybiBhYm91dC4gKi9cbiAgaWdub3JlPzogc3RyaW5nW10gfCBudWxsXG59XG5cbi8qKiBgbmwucmVhZGFiaWxpdHlgOiB3YXJuaW5ncyBhYm91dCBzZW50ZW5jZXMgdG9vIGhhcmQgdG8gcmVhZCwgYXMgcmV0ZXh0LXJlYWRhYmlsaXR5OyBvcHRpb25zIGFyZSByZXRleHQtcmVhZGFiaWxpdHkncy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZGFiaWxpdHlPcHRpb25zIHtcbiAgLyoqIFRoZSBhZ2Ugb2YgdGhlIHRhcmdldCBhdWRpZW5jZTogMTYgYnkgZGVmYXVsdC4gKi9cbiAgYWdlPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIHNoYXJlIG9mIGFsZ29yaXRobXMgdGhhdCBtdXN0IGZpbmQgYSBzZW50ZW5jZSB0b28gaGFyZDogNC83IGJ5IGRlZmF1bHQuICovXG4gIHRocmVzaG9sZD86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBmZXdlc3Qgd29yZHMgYSBzZW50ZW5jZSBuZWVkcyB0byBiZSBjaGVja2VkOiA1IGJ5IGRlZmF1bHQuICovXG4gIG1pbldvcmRzPzogbnVtYmVyIHwgbnVsbFxufVxuXG4vKiogYG5sLnNlbnRlbmNlU3BhY2luZ2A6IHdhcm5pbmdzIGFib3V0IHRoZSBzcGFjZXMgYmV0d2VlbiBzZW50ZW5jZXMsIGFzIHJldGV4dC1zZW50ZW5jZS1zcGFjaW5nOyBvcHRpb25zIGFyZSByZXRleHQtc2VudGVuY2Utc3BhY2luZydzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZW50ZW5jZVNwYWNpbmdPcHRpb25zIHtcbiAgLyoqIFRoZSBzcGFjaW5nIGV4cGVjdGVkIGJldHdlZW4gc2VudGVuY2VzOiBgMWAgb3IgYFwic3BhY2VcImAgKHRoZSBkZWZhdWx0KSwgYDJgIG9yIGBcImRvdWJsZS1zcGFjZVwiYCwgYDBgIG9yIGBcIm5ld2xpbmVcImAuICovXG4gIHByZWZlcnJlZD86IFNwYWNpbmcgfCBudWxsXG59XG5cbi8qKiBBIHNwYWNpbmcgYmV0d2VlbiBzZW50ZW5jZXMsIGFzIGEgY291bnQgb2Ygc3BhY2VzIG9yIGJ5IG5hbWUuICovXG5leHBvcnQgdHlwZSBTcGFjaW5nID0gbnVtYmVyIHwgc3RyaW5nXG5cbi8qKiBgbmwuc21hcnR5cGFudHNgOiBzdHJhaWdodCBxdW90ZXMsIGRhc2hlcywgZG90cyBhbmQgYmFja3RpY2tzIGludG8gdHlwb2dyYXBoaWMgb25lczsgb3B0aW9ucyBhcyByZXRleHQtc21hcnR5cGFudHMgdGFrZXMgdGhlbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnR5cGFudHNPcHRpb25zIHtcbiAgLyoqIFR1cm4gZG91YmxlIGJhY2t0aWNrcyBhbmQgZG91YmxlIHN0cmFpZ2h0IHNpbmdsZSBxdW90ZXMgaW50byBkb3VibGUgcXVvdGVzOyBgYWxsYCB0dXJucyBzaW5nbGUgb25lcyBpbnRvIHNpbmdsZSBxdW90ZXMgdG9vLCBhbmQgbmVlZHMgYHF1b3RlczogZmFsc2VgLiAqL1xuICBiYWNrdGlja3M/OiBCYWNrdGlja3NcbiAgLyoqIFRoZSBjbG9zaW5nIHF1b3RlcyB0byB1c2U6IGDigJ1gIGFuZCBg4oCZYCBieSBkZWZhdWx0LiAqL1xuICBjbG9zaW5nUXVvdGVzPzogUXVvdGVDaGFyYWN0ZXJzIHwgbnVsbFxuICAvKiogVHVybiB0d28gZGFzaGVzIGludG8gYW4gZW0gZGFzaDsgYG9sZHNjaG9vbGAgYW5kIGBpbnZlcnRlZGAgdHJlYXQgdGhyZWUgdG9vLiAqL1xuICBkYXNoZXM/OiBEYXNoZXNcbiAgLyoqIFR1cm4gdGhyZWUgZG90cyBpbnRvIGFuIGVsbGlwc2lzLCB3aXRoIHNwYWNlcyBiZXR3ZWVuIHRoZW0gb3Igd2l0aG91dC4gKi9cbiAgZWxsaXBzZXM/OiBFbGxpcHNlc1xuICAvKiogVGhlIG9wZW5pbmcgcXVvdGVzIHRvIHVzZTogYOKAnGAgYW5kIGDigJhgIGJ5IGRlZmF1bHQuICovXG4gIG9wZW5pbmdRdW90ZXM/OiBRdW90ZUNoYXJhY3RlcnMgfCBudWxsXG4gIC8qKiBUdXJuIHN0cmFpZ2h0IHF1b3RlcyBpbnRvIHNtYXJ0IG9uZXMuIEBkZWZhdWx0IHRydWUgKi9cbiAgcXVvdGVzPzogYm9vbGVhbiB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgQmFja3RpY2tzID0gYm9vbGVhbiB8IFwiYWxsXCJcblxuLyoqIFRoZSBxdW90ZSBjaGFyYWN0ZXJzIHRvIHVzZSBmb3IgZG91YmxlIGFuZCBzaW5nbGUgcXVvdGVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdW90ZUNoYXJhY3RlcnMge1xuICBkb3VibGU6IHN0cmluZ1xuICBzaW5nbGU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBEYXNoZXMgPSBib29sZWFuIHwgXCJvbGRzY2hvb2xcIiB8IFwiaW52ZXJ0ZWRcIlxuXG5leHBvcnQgdHlwZSBFbGxpcHNlcyA9IGJvb2xlYW4gfCBcInNwYWNlZFwiIHwgXCJ1bnNwYWNlZFwiXG5cbi8qKiBgbmwucXVvdGVzYDogY2hlY2sgdGhhdCBxdW90ZXMgYW5kIGFwb3N0cm9waGVzIGFyZSBzdHJhaWdodCBvciBzbWFydCwgYXMgcHJlZmVycmVkLCBhdCBlYWNoIGxldmVsIG9mIG5lc3Rpbmc7IG9wdGlvbnMgYXMgcmV0ZXh0LXF1b3RlcyB0YWtlcyB0aGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdW90ZXNPcHRpb25zIHtcbiAgLyoqIFRoZSBzdHlsZSBvZiBxdW90ZXMgYW5kIGFwb3N0cm9waGVzIHRvIHByZWZlcjogYHNtYXJ0YCBieSBkZWZhdWx0LiAqL1xuICBwcmVmZXJyZWQ/OiBRdW90ZVN0eWxlIHwgbnVsbFxuICAvKiogU21hcnQgcXVvdGVzIGJ5IG5lc3RpbmcgbGV2ZWwsIGVhY2ggb25lIGNoYXJhY3RlciBvciBhbiBvcGVuaW5nIGFuZCBjbG9zaW5nIHBhaXI6IGBbXCLigJzigJ1cIiwgXCLigJjigJlcIl1gIGJ5IGRlZmF1bHQuICovXG4gIHNtYXJ0Pzogc3RyaW5nW10gfCBudWxsXG4gIC8qKiBTdHJhaWdodCBxdW90ZXMgYnkgbmVzdGluZyBsZXZlbDogYFtcIlxcXCJcIiwgXCInXCJdYCBieSBkZWZhdWx0LiAqL1xuICBzdHJhaWdodD86IHN0cmluZ1tdIHwgbnVsbFxufVxuXG4vKiogQSBzdHlsZSBvZiBxdW90ZXM6IHN0cmFpZ2h0IChgXCJgKSBvciBzbWFydCAoYOKAnOKAnWApLiAqL1xuZXhwb3J0IHR5cGUgUXVvdGVTdHlsZSA9IFwic21hcnRcIiB8IFwic3RyYWlnaHRcIlxuXG4vKiogYG5sLmNvbnRyYWN0aW9uc2A6IGNoZWNrIGFwb3N0cm9waGVzIGluIGNvbnRyYWN0aW9ucywgc3VjaCBhcyBgZG9u4oCZdGA7IG9wdGlvbnMgYXMgcmV0ZXh0LWNvbnRyYWN0aW9ucyB0YWtlcyB0aGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cmFjdGlvbnNPcHRpb25zIHtcbiAgLyoqIEFsc28gY2hlY2sgY29udHJhY3Rpb25zIHdyaXR0ZW4gYXMgbGl0ZXJhbHMsIHN1Y2ggYXMgYOKAnGhhc2504oCdYC4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgYWxsb3dMaXRlcmFscz86IGJvb2xlYW4gfCBudWxsXG4gIC8qKiBFeHBlY3Qgc3RyYWlnaHQgYXBvc3Ryb3BoZXMgKGAnYCkgaW5zdGVhZCBvZiBzbWFydCBvbmVzIChg4oCZYCkuIEBkZWZhdWx0IGZhbHNlICovXG4gIHN0cmFpZ2h0PzogYm9vbGVhbiB8IG51bGxcbn1cblxuLyoqIFRoZSBgbmwucGFyc2VgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShvcHRpb25zPzogUGFyc2VPcHRpb25zKTogUGx1Z2luPFwibmwucGFyc2VcIiwgUGFyc2VPcHRpb25zPiAmIFBhcnNlcjxSb290PiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibmwucGFyc2VcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibmwucGFyc2VcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG5sLmVxdWFsaXR5YCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gZXF1YWxpdHkob3B0aW9ucz86IEVxdWFsaXR5T3B0aW9ucyk6IFBsdWdpbjxcIm5sLmVxdWFsaXR5XCIsIEVxdWFsaXR5T3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm5sLmVxdWFsaXR5XCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm5sLmVxdWFsaXR5XCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBubC5wYXNzaXZlYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gcGFzc2l2ZShvcHRpb25zPzogUGFzc2l2ZU9wdGlvbnMpOiBQbHVnaW48XCJubC5wYXNzaXZlXCIsIFBhc3NpdmVPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibmwucGFzc2l2ZVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJubC5wYXNzaXZlXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBubC5yZWFkYWJpbGl0eWAgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRhYmlsaXR5KG9wdGlvbnM/OiBSZWFkYWJpbGl0eU9wdGlvbnMpOiBQbHVnaW48XCJubC5yZWFkYWJpbGl0eVwiLCBSZWFkYWJpbGl0eU9wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJubC5yZWFkYWJpbGl0eVwiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJubC5yZWFkYWJpbGl0eVwiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbmwucmVwZWF0ZWRXb3Jkc2AgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGVhdGVkV29yZHMoKTogUGx1Z2luPFwibmwucmVwZWF0ZWRXb3Jkc1wiPiB7XG4gIHJldHVybiB7IG5hbWU6IFwibmwucmVwZWF0ZWRXb3Jkc1wiIH1cbn1cblxuLyoqIFRoZSBgbmwuc2VudGVuY2VTcGFjaW5nYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gc2VudGVuY2VTcGFjaW5nKG9wdGlvbnM/OiBTZW50ZW5jZVNwYWNpbmdPcHRpb25zKTogUGx1Z2luPFwibmwuc2VudGVuY2VTcGFjaW5nXCIsIFNlbnRlbmNlU3BhY2luZ09wdGlvbnM+IHtcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHsgbmFtZTogXCJubC5zZW50ZW5jZVNwYWNpbmdcIiB9XG4gIHJldHVybiB7IG5hbWU6IFwibmwuc2VudGVuY2VTcGFjaW5nXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBubC5zdHJpbmdpZnlgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnkoKTogUGx1Z2luPFwibmwuc3RyaW5naWZ5XCI+IHtcbiAgcmV0dXJuIHsgbmFtZTogXCJubC5zdHJpbmdpZnlcIiB9XG59XG5cbi8qKiBUaGUgYG5sLnNtYXJ0eXBhbnRzYCBwbHVnaW4uICovXG5leHBvcnQgZnVuY3Rpb24gc21hcnR5cGFudHMob3B0aW9ucz86IFNtYXJ0eXBhbnRzT3B0aW9ucyk6IFBsdWdpbjxcIm5sLnNtYXJ0eXBhbnRzXCIsIFNtYXJ0eXBhbnRzT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm5sLnNtYXJ0eXBhbnRzXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm5sLnNtYXJ0eXBhbnRzXCIsIG9wdGlvbnMgfVxufVxuXG4vKiogVGhlIGBubC5xdW90ZXNgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBxdW90ZXMob3B0aW9ucz86IFF1b3Rlc09wdGlvbnMpOiBQbHVnaW48XCJubC5xdW90ZXNcIiwgUXVvdGVzT3B0aW9ucz4ge1xuICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSByZXR1cm4geyBuYW1lOiBcIm5sLnF1b3Rlc1wiIH1cbiAgcmV0dXJuIHsgbmFtZTogXCJubC5xdW90ZXNcIiwgb3B0aW9ucyB9XG59XG5cbi8qKiBUaGUgYG5sLmNvbnRyYWN0aW9uc2AgcGx1Z2luLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyYWN0aW9ucyhvcHRpb25zPzogQ29udHJhY3Rpb25zT3B0aW9ucyk6IFBsdWdpbjxcIm5sLmNvbnRyYWN0aW9uc1wiLCBDb250cmFjdGlvbnNPcHRpb25zPiB7XG4gIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHJldHVybiB7IG5hbWU6IFwibmwuY29udHJhY3Rpb25zXCIgfVxuICByZXR1cm4geyBuYW1lOiBcIm5sLmNvbnRyYWN0aW9uc1wiLCBvcHRpb25zIH1cbn1cblxuLyoqIFRoZSBgbmwuaW5kZWZpbml0ZUFydGljbGVgIHBsdWdpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmRlZmluaXRlQXJ0aWNsZSgpOiBQbHVnaW48XCJubC5pbmRlZmluaXRlQXJ0aWNsZVwiPiB7XG4gIHJldHVybiB7IG5hbWU6IFwibmwuaW5kZWZpbml0ZUFydGljbGVcIiB9XG59XG4iXX0=
|
package/build/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Processor } from "./models/processor.ts";
|
|
2
2
|
export type { Compatible, Message, MessageOptions, Node, Place, Point, VFile, } from "./models/file.ts";
|
|
3
|
-
export type { Attacher, Pluggable, PluggableList, Plugin, Preset, Transformer, } from "./models/plugin.ts";
|
|
3
|
+
export type { Attacher, Pluggable, PluggableList, Parser, Plugin, Preset, Transformer, } from "./models/plugin.ts";
|
|
4
4
|
export type { HostFile, HostMessage } from "./models/vfile.ts";
|
|
5
5
|
export { Processor } from "./models/processor.ts";
|
|
6
6
|
/** A new processor: add plugins with `use`, then `process` text. */
|
|
7
|
-
export declare function textlane(): Processor
|
|
7
|
+
export declare function textlane(): Processor<import("./models/file.ts").Node>;
|
|
8
8
|
/** The package version, as the native crate reports it. */
|
|
9
9
|
export declare const version: () => string;
|
|
10
10
|
/** The name of every native plugin, as a pipeline names it. */
|
package/build/index.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
2
|
import { resolveAddon } from "./actions/addon/resolve.js";
|
|
3
|
+
import { detectLibc } from "./actions/libc/detect.js";
|
|
3
4
|
import { Processor } from "./models/processor.js";
|
|
4
5
|
export { Processor } from "./models/processor.js";
|
|
5
6
|
const require = createRequire(import.meta.url);
|
|
6
7
|
const addon = require(resolveAddon({
|
|
7
8
|
platform: process.platform,
|
|
8
9
|
arch: process.arch,
|
|
10
|
+
libc: detectLibc({
|
|
11
|
+
platform: process.platform,
|
|
12
|
+
report: () => process.report.getReport(),
|
|
13
|
+
}),
|
|
9
14
|
env: process.env,
|
|
10
15
|
resolvePackage: specifier => require.resolve(specifier),
|
|
11
16
|
}));
|
|
@@ -24,4 +29,4 @@ export const retainedMemory = addon.retainedMemory;
|
|
|
24
29
|
* default is 256 MB.
|
|
25
30
|
*/
|
|
26
31
|
export const setRetainedMemory = addon.setRetainedMemory;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBcUJqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFakQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBRTlDLE1BQU0sS0FBSyxHQUFVLE9BQU8sQ0FDMUIsWUFBWSxDQUFDO0lBQ1gsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO0lBQzFCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtJQUNsQixJQUFJLEVBQUUsVUFBVSxDQUFDO1FBQ2YsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1FBQzFCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtLQUN6QyxDQUFDO0lBQ0YsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0NBQ3hELENBQUMsQ0FDSCxDQUFBO0FBRUQsb0VBQW9FO0FBQ3BFLE1BQU0sVUFBVSxRQUFRO0lBQ3RCLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtBQUM1QyxDQUFDO0FBRUQsMkRBQTJEO0FBQzNELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFBO0FBRXBDLCtEQUErRDtBQUMvRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQTtBQUU1QywyRkFBMkY7QUFDM0YsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUE7QUFFbEQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSB9IGZyb20gXCJub2RlOm1vZHVsZVwiXG5pbXBvcnQgeyByZXNvbHZlQWRkb24gfSBmcm9tIFwiLi9hY3Rpb25zL2FkZG9uL3Jlc29sdmUudHNcIlxuaW1wb3J0IHsgZGV0ZWN0TGliYyB9IGZyb20gXCIuL2FjdGlvbnMvbGliYy9kZXRlY3QudHNcIlxuaW1wb3J0IHR5cGUgeyBBZGRvbiB9IGZyb20gXCIuL21vZGVscy9hZGRvbi50c1wiXG5pbXBvcnQgeyBQcm9jZXNzb3IgfSBmcm9tIFwiLi9tb2RlbHMvcHJvY2Vzc29yLnRzXCJcblxuZXhwb3J0IHR5cGUge1xuICBDb21wYXRpYmxlLFxuICBNZXNzYWdlLFxuICBNZXNzYWdlT3B0aW9ucyxcbiAgTm9kZSxcbiAgUGxhY2UsXG4gIFBvaW50LFxuICBWRmlsZSxcbn0gZnJvbSBcIi4vbW9kZWxzL2ZpbGUudHNcIlxuZXhwb3J0IHR5cGUge1xuICBBdHRhY2hlcixcbiAgUGx1Z2dhYmxlLFxuICBQbHVnZ2FibGVMaXN0LFxuICBQYXJzZXIsXG4gIFBsdWdpbixcbiAgUHJlc2V0LFxuICBUcmFuc2Zvcm1lcixcbn0gZnJvbSBcIi4vbW9kZWxzL3BsdWdpbi50c1wiXG5leHBvcnQgdHlwZSB7IEhvc3RGaWxlLCBIb3N0TWVzc2FnZSB9IGZyb20gXCIuL21vZGVscy92ZmlsZS50c1wiXG5leHBvcnQgeyBQcm9jZXNzb3IgfSBmcm9tIFwiLi9tb2RlbHMvcHJvY2Vzc29yLnRzXCJcblxuY29uc3QgcmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKVxuXG5jb25zdCBhZGRvbjogQWRkb24gPSByZXF1aXJlKFxuICByZXNvbHZlQWRkb24oe1xuICAgIHBsYXRmb3JtOiBwcm9jZXNzLnBsYXRmb3JtLFxuICAgIGFyY2g6IHByb2Nlc3MuYXJjaCxcbiAgICBsaWJjOiBkZXRlY3RMaWJjKHtcbiAgICAgIHBsYXRmb3JtOiBwcm9jZXNzLnBsYXRmb3JtLFxuICAgICAgcmVwb3J0OiAoKSA9PiBwcm9jZXNzLnJlcG9ydC5nZXRSZXBvcnQoKSxcbiAgICB9KSxcbiAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIHJlc29sdmVQYWNrYWdlOiBzcGVjaWZpZXIgPT4gcmVxdWlyZS5yZXNvbHZlKHNwZWNpZmllciksXG4gIH0pLFxuKVxuXG4vKiogQSBuZXcgcHJvY2Vzc29yOiBhZGQgcGx1Z2lucyB3aXRoIGB1c2VgLCB0aGVuIGBwcm9jZXNzYCB0ZXh0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRleHRsYW5lKCkge1xuICByZXR1cm4gbmV3IFByb2Nlc3NvcihuZXcgYWRkb24uUGlwZWxpbmUoKSlcbn1cblxuLyoqIFRoZSBwYWNrYWdlIHZlcnNpb24sIGFzIHRoZSBuYXRpdmUgY3JhdGUgcmVwb3J0cyBpdC4gKi9cbmV4cG9ydCBjb25zdCB2ZXJzaW9uID0gYWRkb24udmVyc2lvblxuXG4vKiogVGhlIG5hbWUgb2YgZXZlcnkgbmF0aXZlIHBsdWdpbiwgYXMgYSBwaXBlbGluZSBuYW1lcyBpdC4gKi9cbmV4cG9ydCBjb25zdCBwbHVnaW5OYW1lcyA9IGFkZG9uLnBsdWdpbk5hbWVzXG5cbi8qKiBUaGUgbW9zdCBtZW1vcnksIGluIGJ5dGVzLCBlYWNoIHRocmVhZCBrZWVwcyBhZnRlciBhIGRvY3VtZW50IHRvIHJldXNlIGZvciB0aGUgbmV4dC4gKi9cbmV4cG9ydCBjb25zdCByZXRhaW5lZE1lbW9yeSA9IGFkZG9uLnJldGFpbmVkTWVtb3J5XG5cbi8qKlxuICogQ2FwIHRoZSBtZW1vcnksIGluIGJ5dGVzLCBlYWNoIHRocmVhZCBrZWVwcyBhZnRlciBhIGRvY3VtZW50OyBgMGAga2VlcHMgbm9uZS4gVGhlXG4gKiBkZWZhdWx0IGlzIDI1NiBNQi5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldFJldGFpbmVkTWVtb3J5ID0gYWRkb24uc2V0UmV0YWluZWRNZW1vcnlcbiJdfQ==
|
package/build/models/addon.d.ts
CHANGED
|
@@ -1,29 +1,44 @@
|
|
|
1
|
-
import type { Message
|
|
2
|
-
/** The crate's pipeline as the addon exposes it: values cross as JSON. */
|
|
1
|
+
import type { Message } from "./file.ts";
|
|
2
|
+
/** The crate's pipeline as the addon exposes it: values cross as JSON, trees as JSON text. */
|
|
3
3
|
export interface NativePipeline {
|
|
4
4
|
use(value: unknown, options?: unknown): void;
|
|
5
5
|
data(key?: string): unknown;
|
|
6
6
|
setData(key: string, value: unknown): void;
|
|
7
7
|
replaceData(data: Record<string, unknown>): void;
|
|
8
8
|
freeze(): void;
|
|
9
|
-
parse(text: string):
|
|
10
|
-
run(tree:
|
|
11
|
-
runSync(tree:
|
|
12
|
-
stringify(tree:
|
|
13
|
-
process(text: string, path?: string):
|
|
14
|
-
processSync(text: string, path?: string):
|
|
9
|
+
parse(text: string): string;
|
|
10
|
+
run(tree: string, value?: string): string;
|
|
11
|
+
runSync(tree: string, value?: string): string;
|
|
12
|
+
stringify(tree: string): string;
|
|
13
|
+
process(text: string, path?: string): Promise<ProcessOutcome>;
|
|
14
|
+
processSync(text: string, path?: string): NativeFile;
|
|
15
15
|
hosts(): number[];
|
|
16
|
-
startRun(tree:
|
|
17
|
-
startProcess(text: string, sync: boolean, path?: string): NativeRun
|
|
16
|
+
startRun(tree: string, value: string | undefined, sync: boolean): NativeRun;
|
|
17
|
+
startProcess(text: string, sync: boolean, path?: string): NativeRun;
|
|
18
18
|
}
|
|
19
|
-
/**
|
|
20
|
-
export interface
|
|
19
|
+
/** What an async `process` settles with: the file, or the error the crate raised. */
|
|
20
|
+
export interface ProcessOutcome {
|
|
21
|
+
file?: NativeFile;
|
|
22
|
+
error?: {
|
|
23
|
+
code: string;
|
|
24
|
+
message: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** The file a native `process` gives back, its messages as the crate holds them. */
|
|
28
|
+
export interface NativeFile {
|
|
29
|
+
value: string;
|
|
30
|
+
messages: Message[];
|
|
31
|
+
data: Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
/** A run paused before host plugins until `resume`, then finished with `result`, as JSON
|
|
34
|
+
* text: the tree for a run, the file for a process. */
|
|
35
|
+
export interface NativeRun {
|
|
21
36
|
hosts(): number[];
|
|
22
|
-
tree():
|
|
37
|
+
tree(): string;
|
|
23
38
|
value(): string | null;
|
|
24
39
|
messages(): Message[];
|
|
25
|
-
resume(tree:
|
|
26
|
-
result():
|
|
40
|
+
resume(tree: string, messages: Message[]): void;
|
|
41
|
+
result(): string;
|
|
27
42
|
}
|
|
28
43
|
/** What the napi addon exports. */
|
|
29
44
|
export interface Addon {
|
package/build/models/addon.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9tb2RlbHMvYWRkb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWVzc2FnZSB9IGZyb20gXCIuL2ZpbGUudHNcIlxuXG4vKiogVGhlIGNyYXRlJ3MgcGlwZWxpbmUgYXMgdGhlIGFkZG9uIGV4cG9zZXMgaXQ6IHZhbHVlcyBjcm9zcyBhcyBKU09OLCB0cmVlcyBhcyBKU09OIHRleHQuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdGl2ZVBpcGVsaW5lIHtcbiAgdXNlKHZhbHVlOiB1bmtub3duLCBvcHRpb25zPzogdW5rbm93bik6IHZvaWRcbiAgZGF0YShrZXk/OiBzdHJpbmcpOiB1bmtub3duXG4gIHNldERhdGEoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdm9pZFxuICByZXBsYWNlRGF0YShkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHZvaWRcbiAgZnJlZXplKCk6IHZvaWRcbiAgcGFyc2UodGV4dDogc3RyaW5nKTogc3RyaW5nXG4gIHJ1bih0cmVlOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogc3RyaW5nXG4gIHJ1blN5bmModHJlZTogc3RyaW5nLCB2YWx1ZT86IHN0cmluZyk6IHN0cmluZ1xuICBzdHJpbmdpZnkodHJlZTogc3RyaW5nKTogc3RyaW5nXG4gIHByb2Nlc3ModGV4dDogc3RyaW5nLCBwYXRoPzogc3RyaW5nKTogUHJvbWlzZTxQcm9jZXNzT3V0Y29tZT5cbiAgcHJvY2Vzc1N5bmModGV4dDogc3RyaW5nLCBwYXRoPzogc3RyaW5nKTogTmF0aXZlRmlsZVxuICBob3N0cygpOiBudW1iZXJbXVxuICBzdGFydFJ1bih0cmVlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQsIHN5bmM6IGJvb2xlYW4pOiBOYXRpdmVSdW5cbiAgc3RhcnRQcm9jZXNzKHRleHQ6IHN0cmluZywgc3luYzogYm9vbGVhbiwgcGF0aD86IHN0cmluZyk6IE5hdGl2ZVJ1blxufVxuXG4vKiogV2hhdCBhbiBhc3luYyBgcHJvY2Vzc2Agc2V0dGxlcyB3aXRoOiB0aGUgZmlsZSwgb3IgdGhlIGVycm9yIHRoZSBjcmF0ZSByYWlzZWQuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NPdXRjb21lIHtcbiAgZmlsZT86IE5hdGl2ZUZpbGVcbiAgZXJyb3I/OiB7IGNvZGU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1cbn1cblxuLyoqIFRoZSBmaWxlIGEgbmF0aXZlIGBwcm9jZXNzYCBnaXZlcyBiYWNrLCBpdHMgbWVzc2FnZXMgYXMgdGhlIGNyYXRlIGhvbGRzIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdGl2ZUZpbGUge1xuICB2YWx1ZTogc3RyaW5nXG4gIG1lc3NhZ2VzOiBNZXNzYWdlW11cbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuLyoqIEEgcnVuIHBhdXNlZCBiZWZvcmUgaG9zdCBwbHVnaW5zIHVudGlsIGByZXN1bWVgLCB0aGVuIGZpbmlzaGVkIHdpdGggYHJlc3VsdGAsIGFzIEpTT05cbiAqIHRleHQ6IHRoZSB0cmVlIGZvciBhIHJ1biwgdGhlIGZpbGUgZm9yIGEgcHJvY2Vzcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmF0aXZlUnVuIHtcbiAgaG9zdHMoKTogbnVtYmVyW11cbiAgdHJlZSgpOiBzdHJpbmdcbiAgdmFsdWUoKTogc3RyaW5nIHwgbnVsbFxuICBtZXNzYWdlcygpOiBNZXNzYWdlW11cbiAgcmVzdW1lKHRyZWU6IHN0cmluZywgbWVzc2FnZXM6IE1lc3NhZ2VbXSk6IHZvaWRcbiAgcmVzdWx0KCk6IHN0cmluZ1xufVxuXG4vKiogV2hhdCB0aGUgbmFwaSBhZGRvbiBleHBvcnRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRvbiB7XG4gIHZlcnNpb24oKTogc3RyaW5nXG4gIHBsdWdpbk5hbWVzKCk6IHN0cmluZ1tdXG4gIHJldGFpbmVkTWVtb3J5KCk6IG51bWJlclxuICBzZXRSZXRhaW5lZE1lbW9yeShieXRlczogbnVtYmVyKTogdm9pZFxuICBQaXBlbGluZTogbmV3ICgpID0+IE5hdGl2ZVBpcGVsaW5lXG59XG4iXX0=
|
package/build/models/file.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { HostMessage } from "./vfile.ts";
|
|
1
2
|
/** A unist node as JSON: what `parse` returns and `run` and `stringify` take. */
|
|
2
3
|
export interface Node {
|
|
3
4
|
type: string;
|
|
@@ -9,7 +10,7 @@ export interface Point {
|
|
|
9
10
|
column: number;
|
|
10
11
|
offset: number | null;
|
|
11
12
|
}
|
|
12
|
-
/** A diagnostic
|
|
13
|
+
/** A diagnostic as it crosses the addon: what a `HostMessage` is read from. */
|
|
13
14
|
export interface Message {
|
|
14
15
|
reason: string;
|
|
15
16
|
ruleId: string | null;
|
|
@@ -22,7 +23,7 @@ export interface Message {
|
|
|
22
23
|
/** What `process` gives back, as a vfile: the output, the messages and the file's data. */
|
|
23
24
|
export interface VFile {
|
|
24
25
|
value: string;
|
|
25
|
-
messages:
|
|
26
|
+
messages: HostMessage[];
|
|
26
27
|
data: Record<string, unknown>;
|
|
27
28
|
path?: string;
|
|
28
29
|
}
|
package/build/models/file.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL21vZGVscy9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEhvc3RNZXNzYWdlIH0gZnJvbSBcIi4vdmZpbGUudHNcIlxuXG4vKiogQSB1bmlzdCBub2RlIGFzIEpTT046IHdoYXQgYHBhcnNlYCByZXR1cm5zIGFuZCBgcnVuYCBhbmQgYHN0cmluZ2lmeWAgdGFrZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZSB7XG4gIHR5cGU6IHN0cmluZ1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duXG59XG5cbi8qKiBPbmUgcGxhY2UgaW4gYSBmaWxlOiBhIDEtaW5kZXhlZCBsaW5lIGFuZCBjb2x1bW4gYW5kIGEgMC1pbmRleGVkIG9mZnNldCwgd2hlbiBrbm93bi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnQge1xuICBsaW5lOiBudW1iZXJcbiAgY29sdW1uOiBudW1iZXJcbiAgb2Zmc2V0OiBudW1iZXIgfCBudWxsXG59XG5cbi8qKiBBIGRpYWdub3N0aWMgYXMgaXQgY3Jvc3NlcyB0aGUgYWRkb246IHdoYXQgYSBgSG9zdE1lc3NhZ2VgIGlzIHJlYWQgZnJvbS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSB7XG4gIHJlYXNvbjogc3RyaW5nXG4gIHJ1bGVJZDogc3RyaW5nIHwgbnVsbFxuICBzb3VyY2U6IHN0cmluZyB8IG51bGxcbiAgcGxhY2U6IHsgc3RhcnQ6IFBvaW50OyBlbmQ6IFBvaW50IH0gfCBudWxsXG59XG5cbi8qKiBXaGF0IGBwcm9jZXNzYCBnaXZlcyBiYWNrLCBhcyBhIHZmaWxlOiB0aGUgb3V0cHV0LCB0aGUgbWVzc2FnZXMgYW5kIHRoZSBmaWxlJ3MgZGF0YS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVkZpbGUge1xuICB2YWx1ZTogc3RyaW5nXG4gIG1lc3NhZ2VzOiBIb3N0TWVzc2FnZVtdXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHBhdGg/OiBzdHJpbmdcbn1cblxuLyoqIEEgZG9jdW1lbnQ6IGl0cyB0ZXh0LCBvciBhIGZpbGUgaG9sZGluZyBpdCBhcyBgdmFsdWVgLCB3aXRoIGl0cyBwYXRoIHdoZW4ga25vd24uICovXG5leHBvcnQgdHlwZSBDb21wYXRpYmxlID0gc3RyaW5nIHwgeyB2YWx1ZTogc3RyaW5nOyBwYXRoPzogc3RyaW5nIH1cblxuLyoqIFdoZXJlIGEgbWVzc2FnZSBpczogYSBwb2ludCwgYSBwb3NpdGlvbiwgb3IgYSBub2RlIGhvbGRpbmcgb25lLiAqL1xuZXhwb3J0IHR5cGUgUGxhY2UgPVxuICB8IHsgbGluZTogbnVtYmVyOyBjb2x1bW46IG51bWJlcjsgb2Zmc2V0PzogbnVtYmVyIHwgbnVsbCB9XG4gIHwgeyBzdGFydDogUG9pbnQ7IGVuZDogUG9pbnQgfVxuICB8IHsgcG9zaXRpb24/OiB1bmtub3duIH1cblxuLyoqIFdoYXQgYG1lc3NhZ2VgIHRha2VzIGJlc2lkZXMgdGhlIHJlYXNvbiwgYXMgdmZpbGUtbWVzc2FnZSBuYW1lcyBpdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZU9wdGlvbnMge1xuICBhbmNlc3RvcnM/OiB1bmtub3duW11cbiAgY2F1c2U/OiB1bmtub3duXG4gIHBsYWNlPzogUGxhY2VcbiAgcnVsZUlkPzogc3RyaW5nXG4gIHNvdXJjZT86IHN0cmluZ1xufVxuIl19
|
package/build/models/plugin.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Node as UnistNode } from "unist";
|
|
1
2
|
import type { Node } from "./file.ts";
|
|
2
3
|
import type { HostFile } from "./vfile.ts";
|
|
3
4
|
/** A native plugin as a pipeline names it, with its options when given. */
|
|
@@ -5,6 +6,11 @@ export interface Plugin<Name extends string = string, Options = unknown> {
|
|
|
5
6
|
name: Name;
|
|
6
7
|
options?: Options;
|
|
7
8
|
}
|
|
9
|
+
declare const parsed: unique symbol;
|
|
10
|
+
/** A parser plugin, carrying the tree `parse` returns once it is used; nothing at runtime. */
|
|
11
|
+
export interface Parser<Tree extends UnistNode = UnistNode> {
|
|
12
|
+
readonly [parsed]?: Tree;
|
|
13
|
+
}
|
|
8
14
|
/** Plugins and the settings they share, as unified's presets. */
|
|
9
15
|
export interface Preset {
|
|
10
16
|
plugins?: PluggableList;
|
|
@@ -24,3 +30,4 @@ export type Transformer = (tree: Node, file: HostFile, next: (error?: unknown, t
|
|
|
24
30
|
export type Pluggable = Plugin | string | Attacher | [Plugin | string | Attacher, unknown?] | Preset;
|
|
25
31
|
/** Several pluggables, used in order. */
|
|
26
32
|
export type PluggableList = Pluggable[];
|
|
33
|
+
export {};
|
package/build/models/plugin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbW9kZWxzL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOb2RlIGFzIFVuaXN0Tm9kZSB9IGZyb20gXCJ1bmlzdFwiXG5pbXBvcnQgdHlwZSB7IE5vZGUgfSBmcm9tIFwiLi9maWxlLnRzXCJcbmltcG9ydCB0eXBlIHsgSG9zdEZpbGUgfSBmcm9tIFwiLi92ZmlsZS50c1wiXG5cbi8qKiBBIG5hdGl2ZSBwbHVnaW4gYXMgYSBwaXBlbGluZSBuYW1lcyBpdCwgd2l0aCBpdHMgb3B0aW9ucyB3aGVuIGdpdmVuLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW48TmFtZSBleHRlbmRzIHN0cmluZyA9IHN0cmluZywgT3B0aW9ucyA9IHVua25vd24+IHtcbiAgbmFtZTogTmFtZVxuICBvcHRpb25zPzogT3B0aW9uc1xufVxuXG5kZWNsYXJlIGNvbnN0IHBhcnNlZDogdW5pcXVlIHN5bWJvbFxuXG4vKiogQSBwYXJzZXIgcGx1Z2luLCBjYXJyeWluZyB0aGUgdHJlZSBgcGFyc2VgIHJldHVybnMgb25jZSBpdCBpcyB1c2VkOyBub3RoaW5nIGF0IHJ1bnRpbWUuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlcjxUcmVlIGV4dGVuZHMgVW5pc3ROb2RlID0gVW5pc3ROb2RlPiB7XG4gIHJlYWRvbmx5IFtwYXJzZWRdPzogVHJlZVxufVxuXG4vKiogUGx1Z2lucyBhbmQgdGhlIHNldHRpbmdzIHRoZXkgc2hhcmUsIGFzIHVuaWZpZWQncyBwcmVzZXRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVzZXQge1xuICBwbHVnaW5zPzogUGx1Z2dhYmxlTGlzdFxuICBzZXR0aW5ncz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbi8qKlxuICogQSBKYXZhU2NyaXB0IHBsdWdpbiwgYXMgdW5pZmllZCdzIGF0dGFjaGVyczogY2FsbGVkIHdpdGggdGhlIHByb2Nlc3NvciBhcyBgdGhpc2AgYW5kIGl0c1xuICogb3B0aW9ucyB3aGVuIHRoZSBwcm9jZXNzb3IgZnJlZXplcywgaXQgcmV0dXJucyB0aGUgdHJhbnNmb3JtZXIgdGhlIHBpcGVsaW5lIHJ1bnMuXG4gKi9cbmV4cG9ydCB0eXBlIEF0dGFjaGVyID0gKHRoaXM6IG5ldmVyLCAuLi5wYXJhbWV0ZXJzOiBuZXZlcltdKSA9PiB1bmtub3duXG5cbi8qKlxuICogV2hhdCBhbiBhdHRhY2hlciByZXR1cm5zOiBpdCBjaGFuZ2VzIHRoZSB0cmVlIGluIHBsYWNlIG9yIHJldHVybnMgYSBuZXcgb25lLCBkaXJlY3RseSxcbiAqIHRocm91Z2ggYSBwcm9taXNlIG9yIHRocm91Z2ggYG5leHRgLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lciA9IChcbiAgdHJlZTogTm9kZSxcbiAgZmlsZTogSG9zdEZpbGUsXG4gIG5leHQ6IChlcnJvcj86IHVua25vd24sIHRyZWU/OiBOb2RlKSA9PiB2b2lkLFxuKSA9PiB1bmtub3duXG5cbi8qKiBBIHBsdWdpbiwgYnkgZGVzY3JpcHRvciwgbmFtZSBvciBhdHRhY2hlciwgd2l0aCBvcHRpb25zLCBvciBhIHByZXNldC4gKi9cbmV4cG9ydCB0eXBlIFBsdWdnYWJsZSA9XG4gIHwgUGx1Z2luXG4gIHwgc3RyaW5nXG4gIHwgQXR0YWNoZXJcbiAgfCBbUGx1Z2luIHwgc3RyaW5nIHwgQXR0YWNoZXIsIHVua25vd24/XVxuICB8IFByZXNldFxuXG4vKiogU2V2ZXJhbCBwbHVnZ2FibGVzLCB1c2VkIGluIG9yZGVyLiAqL1xuZXhwb3J0IHR5cGUgUGx1Z2dhYmxlTGlzdCA9IFBsdWdnYWJsZVtdXG4iXX0=
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
import type { Node as UnistNode } from "unist";
|
|
1
2
|
import type { NativePipeline } from "./addon.ts";
|
|
2
3
|
import type { Compatible, Node, VFile } from "./file.ts";
|
|
3
|
-
import type { Pluggable, PluggableList, Preset } from "./plugin.ts";
|
|
4
|
+
import type { Parser, Pluggable, PluggableList, Preset } from "./plugin.ts";
|
|
4
5
|
/**
|
|
5
6
|
* unified's processor over the native pipeline; every call is the crate's, except that
|
|
6
7
|
* JavaScript plugins run here when a run pauses before them.
|
|
7
8
|
*/
|
|
8
|
-
export declare class Processor {
|
|
9
|
+
export declare class Processor<Tree extends UnistNode = Node> {
|
|
9
10
|
#private;
|
|
10
11
|
constructor(native: NativePipeline);
|
|
11
12
|
/**
|
|
12
13
|
* Add a plugin, a list of them or a preset; a plugin used again is reconfigured. A
|
|
13
14
|
* JavaScript plugin is an attacher, called with the processor and its options at freeze.
|
|
15
|
+
* A parser, such as `md.parse()`, types the tree `parse` returns.
|
|
14
16
|
*/
|
|
15
|
-
use
|
|
17
|
+
use<Value extends Pluggable | PluggableList | Preset | null | undefined>(value: Value, ...options: unknown[]): Processor<ParsedTree<Value, Tree>>;
|
|
16
18
|
/** All data, or the value under `key`. */
|
|
17
19
|
data(): Record<string, unknown>;
|
|
18
20
|
data(key: string): unknown;
|
|
@@ -22,18 +24,20 @@ export declare class Processor {
|
|
|
22
24
|
/** Attach every plugin; later `use` and `data` setters fail. */
|
|
23
25
|
freeze(): this;
|
|
24
26
|
/** Parse a document into a tree. */
|
|
25
|
-
parse(document: Compatible):
|
|
27
|
+
parse(document: Compatible): Tree;
|
|
26
28
|
/**
|
|
27
29
|
* Run the transforms, finishing asynchronous stages; `file`, the text `tree` was parsed
|
|
28
30
|
* from, lets bridges read it and keeps positions in the result.
|
|
29
31
|
*/
|
|
30
|
-
run(tree:
|
|
32
|
+
run(tree: UnistNode, file?: Compatible): Promise<Node>;
|
|
31
33
|
/** Run the transforms; fails with `async-in-sync` on an asynchronous stage. */
|
|
32
|
-
runSync(tree:
|
|
34
|
+
runSync(tree: UnistNode, file?: Compatible): Node;
|
|
33
35
|
/** Compile a tree, running no transform. */
|
|
34
|
-
stringify(tree:
|
|
36
|
+
stringify(tree: UnistNode): string;
|
|
35
37
|
/** Parse, run and compile a document, finishing asynchronous stages. */
|
|
36
38
|
process(document: Compatible): Promise<VFile>;
|
|
37
39
|
/** Parse, run and compile a document; fails with `async-in-sync` on an asynchronous stage. */
|
|
38
40
|
processSync(document: Compatible): VFile;
|
|
39
41
|
}
|
|
42
|
+
type ParsedTree<Value, Current> = Value extends Parser<infer Parsed> ? Parsed extends UnistNode ? Parsed : Current : Current;
|
|
43
|
+
export {};
|