@rooted/elements 1.0.0-alpha.3 → 1.0.0-alpha.5

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.
@@ -82,16 +82,45 @@ type FunctionKeys<T> = {
82
82
  type OnHandlerKeys<T> = {
83
83
  [P in keyof T]: P extends `on${string}` ? P : never;
84
84
  }[keyof T];
85
- type SanitizedHtmlProperties<TElement extends HTMLElement> = Omit<TElement, NonWritableKeys<TElement> | FunctionKeys<TElement> | Exclude<keyof ARIAMixin, 'role'> | OnHandlerKeys<TElement> | 'children' | 'className' | 'classList'>;
85
+ /** A subset of CSSStyleDeclaration containing only the individual CSS style properties. */
86
+ type InlineStyle = {
87
+ [K in keyof CSSStyleDeclaration as CSSStyleDeclaration[K] extends string ? K extends 'cssText' ? never : K : never]?: string;
88
+ };
89
+
90
+ type SanitizedHtmlProperties<TElement extends HTMLElement> = Omit<TElement, NonWritableKeys<TElement> | FunctionKeys<TElement> | Exclude<keyof ARIAMixin, 'role'> | OnHandlerKeys<TElement> | 'children' | 'className' | 'classList' | 'style'>;
86
91
  type HtmlElementPropertiesMapped<TElement extends HTMLElement> = Partial<SanitizedHtmlProperties<TElement>> & {
87
92
  children?: Array<Node | string> | Node | string;
88
93
  classes?: CssClasses;
94
+ style?: InlineStyle;
89
95
  aria?: Aria;
90
96
  on?: ElementOnHandlers<TElement>;
91
97
  };
92
98
  type HtmlElementProperties<KElement extends keyof HTMLElementTagNameMap> = HtmlElementPropertiesMapped<HTMLElementTagNameMap[KElement]>;
93
- type ElementCreator = (key: string) => HTMLElement;
94
- type ElementFactory = ReturnType<typeof createElementFactory>;
95
- declare function createElementFactory(constructElement: ElementCreator, signal: AbortSignal): <KElement extends keyof HTMLElementTagNameMap>(tag: KElement, properties?: NoInfer<HtmlElementProperties<KElement>>) => HTMLElementTagNameMap[KElement];
96
99
 
97
- export { type Aria, type CssClass, type CssClasses, type ElementCreator, type ElementFactory, createElementFactory, cssClass };
100
+ type SvgTagName = 'svg' | `svg:${Exclude<keyof SVGElementTagNameMap, 'svg'>}`;
101
+ type SvgTagElement<T extends SvgTagName> = T extends 'svg' ? SVGSVGElement : T extends `svg:${infer K extends keyof SVGElementTagNameMap}` ? SVGElementTagNameMap[K] : never;
102
+ type SanitizedSvgProperties<TElement extends SVGElement> = Omit<TElement, NonWritableKeys<TElement> | FunctionKeys<TElement> | Exclude<keyof ARIAMixin, 'role'> | OnHandlerKeys<TElement> | 'children' | 'className' | 'classList' | 'style'>;
103
+ type SvgElementPropertiesMapped<TElement extends SVGElement> = Partial<SanitizedSvgProperties<TElement>> & {
104
+ [key: string]: unknown;
105
+ classes?: CssClasses;
106
+ style?: InlineStyle;
107
+ children?: Array<Node | string> | Node | string;
108
+ aria?: Aria;
109
+ on?: ElementOnHandlers<TElement>;
110
+ };
111
+ type SvgElementProperties<K extends SvgTagName> = SvgElementPropertiesMapped<SvgTagElement<K> & SVGElement>;
112
+
113
+ type ElementCreator = (key: string, ns?: string) => Element;
114
+ /**
115
+ * The overloaded function type returned by {@link createElementFactory}.
116
+ * Accepts HTML or SVG tag names and returns the matching element type.
117
+ */
118
+ interface ElementCreatorFunction {
119
+ (tag: 'svg', properties?: SvgElementProperties<'svg'>): SVGSVGElement;
120
+ <K extends Exclude<SvgTagName, 'svg'>>(tag: K, properties?: SvgElementProperties<K>): SvgTagElement<K>;
121
+ <K extends keyof HTMLElementTagNameMap>(tag: K, properties?: NoInfer<HtmlElementProperties<K>>): HTMLElementTagNameMap[K];
122
+ }
123
+ type ElementFactory = ElementCreatorFunction;
124
+ declare function createElementFactory(constructElement: ElementCreator, signal: AbortSignal): ElementCreatorFunction;
125
+
126
+ export { type Aria, type CssClass, type CssClasses, type ElementCreator, type ElementCreatorFunction, type ElementFactory, type HtmlElementProperties, type SvgElementProperties, type SvgTagElement, type SvgTagName, createElementFactory, cssClass };
package/dist/elements.mjs CHANGED
@@ -66,9 +66,38 @@ function buildClassList(classes) {
66
66
  if (Array.isArray(classes)) return { className: classes.filter(Boolean).join(" ") };
67
67
  return { className: String(classes) };
68
68
  }
69
+ function isWritableDomProperty(element, key) {
70
+ let proto = element;
71
+ while (proto) {
72
+ const desc = Object.getOwnPropertyDescriptor(proto, key);
73
+ if (desc) return !!(desc.writable || desc.set);
74
+ proto = Object.getPrototypeOf(proto);
75
+ }
76
+ return false;
77
+ }
69
78
  function createElementFactory(constructElement, signal) {
70
79
  function createElement(tag, properties) {
71
- const { aria, children, classes, on, ...assignableProperties } = properties ?? {};
80
+ if (tag === "svg" || tag.startsWith("svg:")) {
81
+ const actualTag = tag === "svg" ? "svg" : tag.slice(4);
82
+ const { classes: classes2, children: children2, aria: aria2, on: on2, style: style2, ...attributes } = properties ?? {};
83
+ const newElement2 = constructElement(actualTag, "http://www.w3.org/2000/svg");
84
+ for (const [key, value] of Object.entries(attributes)) {
85
+ if (value === void 0 || value === null) continue;
86
+ if (isWritableDomProperty(newElement2, key)) {
87
+ newElement2[key] = value;
88
+ } else if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
89
+ newElement2.setAttribute(key, String(value));
90
+ }
91
+ }
92
+ const { className } = buildClassList(classes2);
93
+ if (className) newElement2.setAttribute("class", className);
94
+ if (style2) Object.assign(newElement2.style, style2);
95
+ buildAriaProperties(aria2, newElement2);
96
+ buildOnHandlers(on2, newElement2, signal);
97
+ appendChildren(newElement2, children2);
98
+ return newElement2;
99
+ }
100
+ const { aria, children, classes, on, style, ...assignableProperties } = properties ?? {};
72
101
  const definedProperties = Object.fromEntries(
73
102
  Object.entries(assignableProperties).filter(([, v]) => v !== void 0 && v !== null)
74
103
  );
@@ -77,20 +106,24 @@ function createElementFactory(constructElement, signal) {
77
106
  definedProperties,
78
107
  buildClassList(classes)
79
108
  );
109
+ if (style) Object.assign(newElement.style, style);
80
110
  buildAriaProperties(aria, newElement);
81
111
  buildOnHandlers(on, newElement, signal);
82
- if (Array.isArray(children)) {
83
- for (const child of children) {
84
- newElement.append(child);
85
- }
86
- } else if (children) {
87
- newElement.append(children);
88
- }
112
+ appendChildren(newElement, children);
89
113
  return newElement;
90
114
  }
91
- return createElement.bind(void 0);
115
+ return createElement;
116
+ }
117
+ function appendChildren(element, children) {
118
+ if (Array.isArray(children)) {
119
+ for (const child of children) {
120
+ element.append(child);
121
+ }
122
+ } else if (children) {
123
+ element.append(children);
124
+ }
92
125
  }
93
126
 
94
127
  export { createElementFactory, cssClass };
95
128
  //# sourceMappingURL=elements.mjs.map
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGFzc2VzLm10cyIsIi4uL3NyYy9hcmlhLm10cyIsIi4uL3NyYy9lbGVtZW50LWZhY3RvcnkubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUE2Q08sU0FBUyxRQUFBLENBQVMsU0FBQSxFQUFxQixPQUFBLEdBQXNDLElBQUEsRUFBZ0I7QUFDbkcsRUFBQSxJQUFJLFlBQVksSUFBQSxFQUFNO0FBQ3RCLEVBQUEsT0FBTyxTQUFBO0FBQ1I7OztBQ3BCQSxJQUFNLHlCQUFBLEdBQTZFO0FBQUEsRUFDbEYsZ0JBQUEsRUFBa0IsdUJBQUE7QUFBQSxFQUNsQixRQUFBLEVBQVUsZUFBQTtBQUFBLEVBQ1YsV0FBQSxFQUFhLGtCQUFBO0FBQUEsRUFDYixPQUFBLEVBQVMsY0FBQTtBQUFBLEVBQ1QsWUFBQSxFQUFjLG1CQUFBO0FBQUEsRUFDZCxNQUFBLEVBQVEsYUFBQTtBQUFBLEVBQ1IsVUFBQSxFQUFZLGlCQUFBO0FBQUEsRUFDWixJQUFBLEVBQU07QUFDUCxDQUFBO0FBR0EsSUFBTSxnQ0FBQSxHQUFvRjtBQUFBLEVBQ3pGLGdCQUFBLEVBQWtCLDZCQUFBO0FBQUEsRUFDbEIsUUFBQSxFQUFVLHNCQUFBO0FBQUEsRUFDVixXQUFBLEVBQWEseUJBQUE7QUFBQSxFQUNiLE9BQUEsRUFBUyxxQkFBQTtBQUFBLEVBQ1QsWUFBQSxFQUFjLDBCQUFBO0FBQUEsRUFDZCxNQUFBLEVBQVEsb0JBQUE7QUFBQSxFQUNSLFVBQUEsRUFBWSx3QkFBQTtBQUFBLEVBQ1osSUFBQSxFQUFNO0FBQ1AsQ0FBQTtBQUVBLFNBQVMsV0FBQSxDQUFZLE9BQUEsRUFBa0IsR0FBQSxFQUFhLEtBQUEsRUFBc0I7QUFDekUsRUFBQyxPQUFBLENBQStDLEdBQUcsQ0FBQSxHQUFJLEtBQUE7QUFDeEQ7QUFFTyxTQUFTLG1CQUFBLENBQW9CLE1BQXdCLE9BQUEsRUFBd0I7QUFDbkYsRUFBQSxJQUFJLENBQUMsSUFBQSxFQUFNO0FBQ1gsRUFBQSxLQUFBLE1BQVcsQ0FBQyxH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QUFBLENBQW9CLE1BQU0sVUFBVSxDQUFBO0FBQ3BDLElBQUEsZUFBQSxDQUFnQixFQUFBLEVBQUksWUFBWSxNQUFNLENBQUE7QUFFdEMsSUFBQSxJQUFJLEtBQUEsQ0FBTSxPQUFBLENBQVEsUUFBUSxDQUFBLEVBQUc7QUFDNUIsTUFBQSxLQUFBLE1BQVcsU0FBUyxRQUFBLEVBQVU7QUFDN0IsUUFBQSxVQUFBLENBQVcsT0FBTyxLQUFLLENBQUE7QUFBQSxNQUN4QjtBQUFBLElBQ0QsV0FDUyxRQUFBLEVBQVU7QUFDbEIsTUFBQSxVQUFBLENBQVcsT0FBTyxRQUFRLENBQUE7QUFBQSxJQUMzQjtBQUVBLElBQUEsT0FBTyxVQUFBO0FBQUEsRUFDUjtBQUVBLEVBQUEsT0FBTyxhQUFBLENBQWMsS0FBSyxNQUFVLENBQUE7QUFDckMiLCJmaWxlIjoiZWxlbWVudHMubWpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIHNpbmdsZSBDU1MgY2xhc3MgdmFsdWUuIEZhbHN5IHZhcmlhbnRzIChgdW5kZWZpbmVkYCBhbmQgYG51bGxgKSBhcmVcbiAqIGF1dG9tYXRpY2FsbHkgZmlsdGVyZWQgb3V0IHdoZW4gYnVpbGRpbmcgYSBjbGFzcyBsaXN0LCBzbyBjb25kaXRpb25hbFxuICogY2xhc3NlcyBjYW4gYmUgZXhwcmVzc2VkIHdpdGhvdXQgZXhwbGljaXQgZ3VhcmRzLlxuICovXG5leHBvcnQgdHlwZSBDc3NDbGFzcyA9IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuLyoqXG4gKiBPbmUgb3IgbW9yZSBDU1MgY2xhc3MgdmFsdWVzIGFjY2VwdGVkIGJ5IHRoZSBgY2xhc3Nlc2AgcHJvcCBvZiBldmVyeSBIVE1MXG4gKiBlbGVtZW50IGNyZWF0ZWQgdmlhIGBjcmVhdGUoKWAgb3IgYGFwcGVuZCgpYC5cbiAqXG4gKiAtIEEgc2luZ2xlIHN0cmluZyBpcyB1c2VkIGFzLWlzLlxuICogLSBBbiBhcnJheSBvZiB7QGxpbmsgQ3NzQ2xhc3N9IHZhbHVlcyBpcyBqb2luZWQgd2l0aCBzcGFjZXMgYWZ0ZXIgZmFsc3lcbiAqICAgZW50cmllcyBhcmUgcmVtb3ZlZC5cbiAqXG4gKiBAc2VlIHtAbGluayBjc3NDbGFzc30gZm9yIGNvbXBvc2luZyBjb25kaXRpb25hbCBjbGFzcyBuYW1lcy5cbiAqL1xuZXhwb3J0IHR5cGUgQ3NzQ2xhc3NlcyA9IEFycmF5PENzc0NsYXNzPiB8IENzc0NsYXNzXG5cbi8qKlxuICogUmV0dXJucyBgY2xhc3NOYW1lYCB3aGVuIGB2aXNpYmxlYCBpcyB0cnV0aHksIG90aGVyd2lzZSBgdW5kZWZpbmVkYC5cbiAqXG4gKiBEZXNpZ25lZCB0byBjb21wb3NlIGNsZWFubHkgd2l0aCB7QGxpbmsgQ3NzQ2xhc3Nlc306IGZhbHN5IHZhbHVlcyBhcmVcbiAqIGZpbHRlcmVkIG91dCBhdXRvbWF0aWNhbGx5LCBzbyBzdGF0aWMgYW5kIGNvbmRpdGlvbmFsIGNsYXNzZXMgY2FuIGJlIG1peGVkXG4gKiBpbiBhIHNpbmdsZSBhcnJheSB3aXRob3V0IGJyYW5jaGluZy5cbiAqXG4gKiBAcGFyYW0gY2xhc3NOYW1lIC0gVGhlIENTUyBjbGFzcyB0byBhcHBseS5cbiAqIEBwYXJhbSB2aXNpYmxlIC0gV2hlbiBgdHJ1ZWAgKHRoZSBkZWZhdWx0KSB0aGUgY2xhc3MgaXMgcmV0dXJuZWQ7IGFueSBvdGhlclxuICogICB2YWx1ZSBwcm9kdWNlcyBgdW5kZWZpbmVkYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGFwcGVuZCgnYnV0dG9uJywge1xuICogICBjbGFzc2VzOiBbXG4gKiAgICAgJ2J0bicsXG4gKiAgICAgY3NzQ2xhc3MoJ2J0bi0tYWN0aXZlJywgaXNBY3RpdmUpLFxuICogICAgIGNzc0NsYXNzKCdidG4tLWRpc2FibGVkJywgaXNEaXNhYmxlZCksXG4gKiAgIF0sXG4gKiB9KVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjc3NDbGFzcyhjbGFzc05hbWU6IHN0cmluZyk6IENzc0NsYXNzXG5leHBvcnQgZnVuY3Rpb24gY3NzQ2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcsIHZpc2libGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkKTogQ3NzQ2xhc3NcbmV4cG9ydCBmdW5jdGlvbiBjc3NDbGFzcyhjbGFzc05hbWU6IENzc0NsYXNzKTogQ3NzQ2xhc3NcbmV4cG9ydCBmdW5jdGlvbiBjc3NDbGFzcyhjbGFzc05hbWU6IENzc0NsYXNzLCB2aXNpYmxlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCk6IENzc0NsYXNzXG5leHBvcnQgZnVuY3Rpb24gY3NzQ2xhc3MoY2xhc3NOYW1lOiBDc3NDbGFzcywgdmlzaWJsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSB0cnVlKTogQ3NzQ2xhc3Mge1xuXHRpZiAodmlzaWJsZSAhPT0gdHJ1ZSkgcmV0dXJuXG5cdHJldHVybiBjbGFzc05hbWVcbn1cbiIsInR5cGUgU3RyaXBBcmlhPFMgZXh0ZW5kcyBzdHJpbmc+ID0gUyBleHRlbmRzIGBhcmlhJHtpbmZlciBSZXN0fWAgPyBVbmNhcGl0YWxpemU8UmVzdD4gOiBTXG5cbnR5cGUgQXJpYVN0cmluZ1Byb3BlcnRpZXMgPSB7XG5cdFtQIGluIGtleW9mIEFSSUFNaXhpbiBhcyBBUklBTWl4aW5bUF0gZXh0ZW5kcyBzdHJpbmcgfCBudWxsID8gU3RyaXBBcmlhPHN0cmluZyAmIFA+IDogbmV2ZXJdPzogc3RyaW5nIHwgbnVsbFxufVxuXG4vLyBQcm9wZXJ0aWVzIHRoYXQgb25seSBleGlzdCBhcyBFbGVtZW50W10gaW4gQVJJQU1peGluIOKAlCBhY2NlcHRzIGEgc3RyaW5nIElEIG9yIGFuIEVsZW1lbnQgZGlyZWN0bHlcbnR5cGUgQXJpYUlkUmVmZXJlbmNlUHJvcGVydGllcyA9IHtcblx0LyoqIHtAaW5oZXJpdGRvYyBBUklBTWl4aW5bJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCddfSAqL1xuXHRhY3RpdmVEZXNjZW5kYW50Pzogc3RyaW5nIHwgRWxlbWVudCB8IG51bGxcblx0LyoqIHtAaW5oZXJpdGRvYyBBUklBTWl4aW5bJ2FyaWFDb250cm9sc0VsZW1lbnRzJ119ICovXG5cdGNvbnRyb2xzPzogc3RyaW5nIHwgRWxlbWVudCB8IG51bGxcblx0LyoqIHtAaW5oZXJpdGRvYyBBUklBTWl4aW5bJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJ119ICovXG5cdGRlc2NyaWJlZEJ5Pzogc3RyaW5nIHwgRWxlbWVudCB8IG51bGxcblx0LyoqIHtAaW5oZXJpdGRvYyBBUklBTWl4aW5bJ2FyaWFEZXRhaWxzRWxlbWVudHMnXX0gKi9cblx0ZGV0YWlscz86IHN0cmluZyB8IEVsZW1lbnQgfCBudWxsXG5cdC8qKiB7QGluaGVyaXRkb2MgQVJJQU1peGluWydhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnXX0gKi9cblx0ZXJyb3JNZXNzYWdlPzogc3RyaW5nIHwgRWxlbWVudCB8IG51bGxcblx0LyoqIHtAaW5oZXJpdGRvYyBBUklBTWl4aW5bJ2FyaWFGbG93VG9FbGVtZW50cyddfSAqL1xuXHRmbG93VG8/OiBzdHJpbmcgfCBFbGVtZW50IHwgbnVsbFxuXHQvKioge0Bpbmhlcml0ZG9jIEFSSUFNaXhpblsnYXJpYUxhYmVsbGVkQnlFbGVtZW50cyddfSAqL1xuXHRsYWJlbGxlZEJ5Pzogc3RyaW5nIHwgRWxlbWVudCB8IG51bGxcblx0LyoqIHtAaW5oZXJpdGRvYyBBUklBTWl4aW5bJ2FyaWFPd25zRWxlbWVudHMnXX0gKi9cblx0b3ducz86IHN0cmluZyB8IEVsZW1lbnQgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEFyaWEgPSBBcmlhU3RyaW5nUHJvcGVydGllcyAmIEFyaWFJZFJlZmVyZW5jZVByb3BlcnRpZXNcblxuY29uc3QgYXJpYUlkUmVmZXJlbmNlQXR0cmlidXRlczogUmVjb3JkPGtleW9mIEFyaWFJZFJlZmVyZW5jZVByb3BlcnRpZXMsIHN0cmluZz4gPSB7XG5cdGFjdGl2ZURlc2NlbmRhbnQ6ICdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLFxuXHRjb250cm9sczogJ2FyaWEtY29udHJvbHMnLFxuXHRkZXNjcmliZWRCeTogJ2FyaWEtZGVzY3JpYmVkYnknLFxuXHRkZXRhaWxzOiAnYXJpYS1kZXRhaWxzJyxcblx0ZXJyb3JNZXNzYWdlOiAnYXJpYS1lcnJvcm1lc3NhZ2UnLFxuXHRmbG93VG86ICdhcmlhLWZsb3d0bycsXG5cdGxhYmVsbGVkQnk6ICdhcmlhLWxhYmVsbGVkYnknLFxuXHRvd25zOiAnYXJpYS1vd25zJyxcbn1cblxuLy8gYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50IGlzIHNpbmd1bGFyOyB0aGUgcmVzdCB0YWtlIEVsZW1lbnRbXVxuY29uc3QgYXJpYUlkUmVmZXJlbmNlRWxlbWVudFByb3BlcnRpZXM6IFJlY29yZDxrZXlvZiBBcmlhSWRSZWZlcmVuY2VQcm9wZXJ0aWVzLCBzdHJpbmc+ID0ge1xuXHRhY3RpdmVEZXNjZW5kYW50OiAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jyxcblx0Y29udHJvbHM6ICdhcmlhQ29udHJvbHNFbGVtZW50cycsXG5cdGRlc2NyaWJlZEJ5OiAnYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMnLFxuXHRkZXRhaWxzOiAnYXJpYURldGFpbHNFbGVtZW50cycsXG5cdGVycm9yTWVzc2FnZTogJ2FyaWFFcnJvck1lc3NhZ2VFbGVtZW50cycsXG5cdGZsb3dUbzogJ2FyaWFGbG93VG9FbGVtZW50cycsXG5cdGxhYmVsbGVkQnk6ICdhcmlhTGFiZWxsZWRCeUVsZW1lbnRzJyxcblx0b3duczogJ2FyaWFPd25zRWxlbWVudHMnLFxufVxuXG5mdW5jdGlvbiBzZXRQcm9wZXJ0eShlbGVtZW50OiBFbGVtZW50LCBrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiB2b2lkIHtcblx0KGVsZW1lbnQgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilba2V5XSA9IHZhbHVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEFyaWFQcm9wZXJ0aWVzKGFyaWE6IEFyaWEgfCB1bmRlZmluZWQsIGVsZW1lbnQ6IEVsZW1lbnQpOiB2b2lkIHtcblx0aWYgKCFhcmlhKSByZXR1cm5cblx0Zm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoYXJpYSkpIHtcblx0XHRpZiAoIShrZXkgaW4gYXJpYUlkUmVmZXJlbmNlQXR0cmlidXRlcykpIHtcblx0XHRcdGNvbnN0IGRvbUtleSA9IGBhcmlhJHtrZXlbMF0udG9VcHBlckNhc2UoKX0ke2tleS5zbGljZSgxKX1gXG5cdFx0XHRzZXRQcm9wZXJ0eShlbGVtZW50LCBkb21LZXksIHZhbHVlKVxuXHRcdFx0Y29udGludWVcblx0XHR9XG5cdFx0aWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcblx0XHRcdGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGFyaWFJZFJlZmVyZW5jZUF0dHJpYnV0ZXNba2V5IGFzIGtleW9mIEFyaWFJZFJlZmVyZW5jZVByb3BlcnRpZXNdKVxuXHRcdFx0Y29udGludWVcblx0XHR9XG5cdFx0aWYgKHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudCkge1xuXHRcdFx0Y29uc3QgaWRsS2V5ID0gYXJpYUlkUmVmZXJlbmNlRWxlbWVudFByb3BlcnRpZXNba2V5IGFzIGtleW9mIEFyaWFJZFJlZmVyZW5jZVByb3BlcnRpZXNdXG5cdFx0XHRzZXRQcm9wZXJ0eShlbGVtZW50LCBpZGxLZXksIGlkbEtleS5lbmRzV2l0aCgnRWxlbWVudHMnKSA/IFt2YWx1ZV0gOiB2YWx1ZSlcblx0XHRcdGNvbnRpbnVlXG5cdFx0fVxuXHRcdGVsZW1lbnQuc2V0QXR0cmlidXRlKGFyaWFJZFJlZmVyZW5jZUF0dHJpYnV0ZXNba2V5IGFzIGtleW9mIEFyaWFJZFJlZmVyZW5jZVByb3BlcnRpZXNdLCB2YWx1ZSlcblx0fVxufVxuIiwiaW1wb3J0IHsgRWxlbWVudE9uSGFuZGxlcnMgfSBmcm9tICdAcm9vdGVkL2V2ZW50cydcblxuaW1wb3J0IHsgdHlwZSBBcmlhLCBidWlsZEFyaWFQcm9wZXJ0aWVzIH0gZnJvbSAnLi9hcmlhLm10cydcbmltcG9ydCB7IENzc0NsYXNzZXMgfSBmcm9tICcuL2NsYXNzZXMubXRzJ1xuXG50eXBlIElmRXF1YWxzPFgsIFksIEEgPSBYLCBCID0gbmV2ZXI+ID0gKDxUPigpID0+IFQgZXh0ZW5kcyBYID8gMSA6IDIpIGV4dGVuZHMgKDxUPigpID0+IFQgZXh0ZW5kcyBZID8gMSA6IDIpID8gQSA6IEJcbnR5cGUgTm9uV3JpdGFibGVLZXlzPFQ+ID0ge1xuXHRbUCBpbiBrZXlvZiBUXS0/OiBJZkVxdWFsczx7IFtRIGluIFBdOiBUW1BdIH0sIHsgLXJlYWRvbmx5IFtRIGluIFBdOiBUW1BdIH0sIG5ldmVyLCBQPlxufVtrZXlvZiBUXVxudHlwZSBGdW5jdGlvbktleXM8VD4gPSB7XG5cdFtQIGluIGtleW9mIFRdOiBOb25OdWxsYWJsZTxUW1BdPiBleHRlbmRzICguLi5hcmd1bWVudHNfOiBuZXZlcltdKSA9PiB1bmtub3duID8gUCA6IG5ldmVyXG59W2tleW9mIFRdXG50eXBlIE9uSGFuZGxlcktleXM8VD4gPSB7IFtQIGluIGtleW9mIFRdOiBQIGV4dGVuZHMgYG9uJHtzdHJpbmd9YCA/IFAgOiBuZXZlciB9W2tleW9mIFRdXG5cbnR5cGUgU2FuaXRpemVkSHRtbFByb3BlcnRpZXM8VEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudD4gPSBPbWl0PFxuXHRURWxlbWVudCxcblx0fCBOb25Xcml0YWJsZUtleXM8VEVsZW1lbnQ+XG5cdHwgRnVuY3Rpb25LZXlzPFRFbGVtZW50PlxuXHR8IEV4Y2x1ZGU8a2V5b2YgQVJJQU1peGluLCAncm9sZSc+XG5cdHwgT25IYW5kbGVyS2V5czxURWxlbWVudD5cblx0fCAnY2hpbGRyZW4nIHwgJ2NsYXNzTmFtZScgfCAnY2xhc3NMaXN0J1xuPlxudHlwZSBIdG1sRWxlbWVudFByb3BlcnRpZXNNYXBwZWQ8VEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudD5cblx0PSBQYXJ0aWFsPFNhbml0aXplZEh0bWxQcm9wZXJ0aWVzPFRFbGVtZW50Pj5cblx0JiB7XG5cdFx0Y2hpbGRyZW4/OiBBcnJheTxOb2RlIHwgc3RyaW5nPiB8IE5vZGUgfCBzdHJpbmdcblx0XHRjbGFzc2VzPzogQ3NzQ2xhc3Nlc1xuXHRcdGFyaWE/OiBBcmlhXG5cdFx0b24/OiBFbGVtZW50T25IYW5kbGVyczxURWxlbWVudD5cblx0fVxuXG50eXBlIEh0bWxFbGVtZW50UHJvcGVydGllczxLRWxlbWVudCBleHRlbmRzIGtleW9mIEhUTUxFbGVtZW50VGFnTmFtZU1hcD5cblx0PSBIdG1sRWxlbWVudFByb3BlcnRpZXNNYXBwZWQ8SFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tFbGVtZW50XT5cblxuZnVuY3Rpb24gYnVpbGRPbkhhbmRsZXJzPFRFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQ+KFxuXHRvbjogRWxlbWVudE9uSGFuZGxlcnM8VEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuXHRlbGVtZW50OiBURWxlbWVudCxcblx0c2lnbmFsOiBBYm9ydFNpZ25hbCxcbik6IHZvaWQge1xuXHRpZiAoIW9uKSByZXR1cm5cblx0Zm9yIChjb25zdCBba2V5LCBoYW5kbGVyXSBvZiBPYmplY3QuZW50cmllcyhvbikpIHtcblx0XHRpZiAoIWhhbmRsZXIpIGNvbnRpbnVlXG5cdFx0ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuXHRcdFx0a2V5LFxuXG5cdFx0XHRldmVudCA9PiB2b2lkIChoYW5kbGVyIGFzIChldmVudD86IEV2ZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPikoZXZlbnQpLFxuXHRcdFx0c2lnbmFsID8geyBzaWduYWwgfSA6IHVuZGVmaW5lZCxcblx0XHQpXG5cdH1cbn1cblxuZnVuY3Rpb24gYnVpbGRDbGFzc0xpc3QoY2xhc3NlczogQ3NzQ2xhc3NlcyB8IHVuZGVmaW5lZCkge1xuXHRpZiAoY2xhc3NlcyA9PT0gbnVsbCB8fCBjbGFzc2VzID09PSB1bmRlZmluZWQpIHJldHVybiB7fVxuXHRpZiAoQXJyYXkuaXNBcnJheShjbGFzc2VzKSkgcmV0dXJuIHsgY2xhc3NOYW1lOiBjbGFzc2VzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykgfVxuXG5cdHJldHVybiB7IGNsYXNzTmFtZTogU3RyaW5nKGNsYXNzZXMpIH1cbn1cblxuZXhwb3J0IHR5cGUgRWxlbWVudENyZWF0b3IgPSAoa2V5OiBzdHJpbmcpID0+IEhUTUxFbGVtZW50XG5leHBvcnQgdHlwZSBFbGVtZW50RmFjdG9yeSA9IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUVsZW1lbnRGYWN0b3J5PlxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRGYWN0b3J5KGNvbnN0cnVjdEVsZW1lbnQ6IEVsZW1lbnRDcmVhdG9yLCBzaWduYWw6IEFib3J0U2lnbmFsKSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IEhUTUwgZWxlbWVudC4gVGhlIGVsZW1lbnQgaXMgKipub3QqKiBhcHBlbmRlZCB0byB0aGVcblx0ICogZG9jdW1lbnQgYXV0b21hdGljYWxseS5cblx0ICpcblx0ICogKipgY2xhc3Nlc2AqKiDigJQgYWNjZXB0cyBhIHNpbmdsZSBjbGFzcyBzdHJpbmcgb3IgYSB7QGxpbmsgQ3NzQ2xhc3Nlc30gYXJyYXk7XG5cdCAqIGZhbHN5IGVudHJpZXMgYXJlIGZpbHRlcmVkIG91dCBhdXRvbWF0aWNhbGx5LlxuXHQgKlxuXHQgKiAqKkRPTSBwcm9wZXJ0eSBuYW1lcyoqIOKAlCBvdGhlciBwcm9wZXJ0aWVzIGFyZSBzZXQgdmlhIGBPYmplY3QuYXNzaWduYCBhbmRcblx0ICogbXVzdCB1c2UgRE9NIHByb3BlcnR5IG5hbWVzLCBub3QgSFRNTCBhdHRyaWJ1dGUgbmFtZXM6XG5cdCAqIHwgSFRNTCBhdHRyaWJ1dGUgfCBET00gcHJvcGVydHkgfFxuXHQgKiB8LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLXxcblx0ICogfCBgZm9yYCAgICAgICAgICB8IGBodG1sRm9yYCAgICB8XG5cdCAqIHwgYHJlYWRvbmx5YCAgICAgfCBgcmVhZE9ubHlgICAgfFxuXHQgKlxuXHQgKiAqKkNoaWxkcmVuKiog4oCUIHBhc3MgYSBzaW5nbGUgYE5vZGVgIG9yIGFuIGFycmF5IG9mIGBOb2RlYHMgdmlhIHRoZVxuXHQgKiBgY2hpbGRyZW5gIHByb3BlcnR5OyB0aGV5IGFyZSBhcHBlbmRlZCBpbiBvcmRlci5cblx0ICpcblx0ICogKipFdmVudCBsaXN0ZW5lcnMqKiDigJQgdXNlIHRoZSBgb25gIHByb3Agd2l0aCBhbiBvYmplY3Qgb2YgZXZlbnQgaGFuZGxlcnMuXG5cdCAqIExpc3RlbmVycyBhcmUgYXV0b21hdGljYWxseSByZW1vdmVkIHdoZW4gdGhlIGNvbXBvbmVudCB1bm1vdW50cy5cblx0ICpcblx0ICogKipBUklBKiog4oCUIHVzZSB0aGUgYGFyaWFgIHByb3AgZm9yIEFSSUEgYXR0cmlidXRlcy4gQWNjZXB0cyBzdHJpbmcgSURzIG9yXG5cdCAqIGBFbGVtZW50YCByZWZlcmVuY2VzIGZvciBJREwgcmVmbGVjdGlvbiBwcm9wZXJ0aWVzLlxuXHQgKlxuXHQgKiBAZXhhbXBsZVxuXHQgKiBgYGB0c1xuXHQgKiBjb25zdCBkaXYgPSBjcmVhdGUoJ2RpdicsIHtcblx0ICogICBjbGFzc2VzOiAnY2FyZCcsXG5cdCAqICAgYXJpYTogeyBsYWJlbDogJ0NhcmQnLCBsYWJlbGxlZEJ5OiBoZWFkaW5nRWwgfSxcblx0ICogICBjaGlsZHJlbjogW1xuXHQgKiAgICAgY3JlYXRlKCdoMicsIHsgdGV4dENvbnRlbnQ6ICdUaXRsZScgfSksXG5cdCAqICAgICBjcmVhdGUoJ3AnLCAgeyB0ZXh0Q29udGVudDogJ0JvZHknICB9KSxcblx0ICogICBdLFxuXHQgKiB9KVxuXHQgKiBgYGBcblx0ICovXG5cdGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQ8S0VsZW1lbnQgZXh0ZW5kcyBrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXA+KHRhZzogS0VsZW1lbnQsIHByb3BlcnRpZXM/OiBOb0luZmVyPEh0bWxFbGVtZW50UHJvcGVydGllczxLRWxlbWVudD4+KTogSFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tFbGVtZW50XSB7XG5cdFx0Y29uc3QgeyBhcmlhLCBjaGlsZHJlbiwgY2xhc3Nlcywgb24sIC4uLmFzc2lnbmFibGVQcm9wZXJ0aWVzIH0gPSAocHJvcGVydGllcyA/PyB7fSlcblx0XHRjb25zdCBkZWZpbmVkUHJvcGVydGllcyA9IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3Rcblx0XHRcdC5lbnRyaWVzKGFzc2lnbmFibGVQcm9wZXJ0aWVzKVxuXHRcdFx0LmZpbHRlcigoWywgdl0pID0+IHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9PSBudWxsKSxcblx0XHQpXG5cdFx0Y29uc3QgbmV3RWxlbWVudCA9IE9iamVjdC5hc3NpZ24oXG5cdFx0XHRjb25zdHJ1Y3RFbGVtZW50KHRhZykgYXMgSFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tFbGVtZW50XSxcblx0XHRcdGRlZmluZWRQcm9wZXJ0aWVzLFxuXHRcdFx0YnVpbGRDbGFzc0xpc3QoY2xhc3NlcyksXG5cdFx0KVxuXG5cdFx0YnVpbGRBcmlhUHJvcGVydGllcyhhcmlhLCBuZXdFbGVtZW50KVxuXHRcdGJ1aWxkT25IYW5kbGVycyhvbiwgbmV3RWxlbWVudCwgc2lnbmFsKVxuXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG5cdFx0XHRmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG5cdFx0XHRcdG5ld0VsZW1lbnQuYXBwZW5kKGNoaWxkKVxuXHRcdFx0fVxuXHRcdH1cblx0XHRlbHNlIGlmIChjaGlsZHJlbikge1xuXHRcdFx0bmV3RWxlbWVudC5hcHBlbmQoY2hpbGRyZW4pXG5cdFx0fVxuXG5cdFx0cmV0dXJuIG5ld0VsZW1lbnQgYXMgSFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tFbGVtZW50XVxuXHR9XG5cblx0cmV0dXJuIGNyZWF0ZUVsZW1lbnQuYmluZCh1bmRlZmluZWQhKVxufVxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGFzc2VzLm10cyIsIi4uL3NyYy9hcmlhLm10cyIsIi4uL3NyYy9lbGVtZW50LWZhY3RvcnkubXRzIl0sIm5hbWVzIjpbImNsYXNzZXMiLCJjaGlsZHJlbiIsImFyaWEiLCJvbiIsInN0eWxlIiwibmV3RWxlbWVudCJdLCJtYXBwaW5ncyI6IjtBQTZDTyxTQUFTLFFBQUEsQ0FBUyxTQUFBLEVBQXFCLE9BQUEsR0FBc0MsSUFBQSxFQUFnQjtBQUNuRyxFQUFBLElBQUksWUFBWSxJQUFBLEVBQU07QUFDdEIsRUFBQSxPQUFPLFNBQUE7QUFDUjs7O0FDcEJBLElBQU0seUJBQUEsR0FBNkU7QUFBQSxFQUNsRixnQkFBQSxFQUFrQix1QkFBQTtBQUFBLEVBQ2xCLFFBQUEsRUFBVSxlQUFBO0FBQUEsRUFDVixXQUFBLEVBQWEsa0JBQUE7QUFBQSxFQUNiLE9BQUEsRUFBUyxjQUFBO0FBQUEsRUFDVCxZQUFBLEVBQWMsbUJBQUE7QUFBQSxFQUNkLE1BQUEsRUFBUSxhQUFBO0FBQUEsRUFDUixVQUFBLEVBQVksaUJBQUE7QUFBQSxFQUNaLElBQUEsRUFBTTtBQUNQLENBQUE7QUFHQSxJQUFNLGdDQUFBLEdBQW9GO0FBQUEsRUFDekYsZ0JBQUEsRUFBa0IsNkJBQUE7QUFBQSxFQUNsQixRQUFBLEVBQVUsc0JBQUE7QUFBQSxFQUNWLFdBQUEsRUFBYSx5QkFBQTtBQUFBLEVBQ2IsT0FBQSxFQUFTLHFCQUFBO0FBQUEsRUFDVCxZQUFBLEVBQWMsMEJBQUE7QUFBQSxFQUNkLE1BQUEsRUFBUSxvQkFBQTtBQUFBLEVBQ1IsVUFBQSxFQUFZLHdCQUFBO0FBQUEsRUFDWixJQUFBLEVBQU07QUFDUCxDQUFBO0FBRUEsU0FBUyxXQUFBLENBQVksT0FBQSxFQUFrQixHQUFBLEVBQWEsS0FBQSxFQUFzQjtBQUN6RSxFQUFDLE9BQUEsQ0FBK0MsR0FBRyxDQUFBLEdBQUksS0FBQTtBQUN4RDtBQUVPLFNBQVMsbUJBQUEsQ0FBb0IsTUFBd0IsT0FBQSxFQUF3QjtBQUNu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QWtFO0FBQzNHLEVBQUEsSUFBSSxLQUFBLENBQU0sT0FBQSxDQUFRLFFBQVEsQ0FBQSxFQUFHO0FBQzVCLElBQUEsS0FBQSxNQUFXLFNBQVMsUUFBQSxFQUFVO0FBQzdCLE1BQUEsT0FBQSxDQUFRLE9BQU8sS0FBSyxDQUFBO0FBQUEsSUFDckI7QUFBQSxFQUNELFdBQ1MsUUFBQSxFQUFVO0FBQ2xCLElBQUEsT0FBQSxDQUFRLE9BQU8sUUFBUSxDQUFBO0FBQUEsRUFDeEI7QUFDRCIsImZpbGUiOiJlbGVtZW50cy5tanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgc2luZ2xlIENTUyBjbGFzcyB2YWx1ZS4gRmFsc3kgdmFyaWFudHMgKGB1bmRlZmluZWRgIGFuZCBgbnVsbGApIGFyZVxuICogYXV0b21hdGljYWxseSBmaWx0ZXJlZCBvdXQgd2hlbiBidWlsZGluZyBhIGNsYXNzIGxpc3QsIHNvIGNvbmRpdGlvbmFsXG4gKiBjbGFzc2VzIGNhbiBiZSBleHByZXNzZWQgd2l0aG91dCBleHBsaWNpdCBndWFyZHMuXG4gKi9cbmV4cG9ydCB0eXBlIENzc0NsYXNzID0gc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4vKipcbiAqIE9uZSBvciBtb3JlIENTUyBjbGFzcyB2YWx1ZXMgYWNjZXB0ZWQgYnkgdGhlIGBjbGFzc2VzYCBwcm9wIG9mIGV2ZXJ5IEhUTUxcbiAqIGVsZW1lbnQgY3JlYXRlZCB2aWEgYGNyZWF0ZSgpYCBvciBgYXBwZW5kKClgLlxuICpcbiAqIC0gQSBzaW5nbGUgc3RyaW5nIGlzIHVzZWQgYXMtaXMuXG4gKiAtIEFuIGFycmF5IG9mIHtAbGluayBDc3NDbGFzc30gdmFsdWVzIGlzIGpvaW5lZCB3aXRoIHNwYWNlcyBhZnRlciBmYWxzeVxuICogICBlbnRyaWVzIGFyZSByZW1vdmVkLlxuICpcbiAqIEBzZWUge0BsaW5rIGNzc0NsYXNzfSBmb3IgY29tcG9zaW5nIGNvbmRpdGlvbmFsIGNsYXNzIG5hbWVzLlxuICovXG5leHBvcnQgdHlwZSBDc3NDbGFzc2VzID0gQXJyYXk8Q3NzQ2xhc3M+IHwgQ3NzQ2xhc3NcblxuLyoqXG4gKiBSZXR1cm5zIGBjbGFzc05hbWVgIHdoZW4gYHZpc2libGVgIGlzIHRydXRoeSwgb3RoZXJ3aXNlIGB1bmRlZmluZWRgLlxuICpcbiAqIERlc2lnbmVkIHRvIGNvbXBvc2UgY2xlYW5seSB3aXRoIHtAbGluayBDc3NDbGFzc2VzfTogZmFsc3kgdmFsdWVzIGFyZVxuICogZmlsdGVyZWQgb3V0IGF1dG9tYXRpY2FsbHksIHNvIHN0YXRpYyBhbmQgY29uZGl0aW9uYWwgY2xhc3NlcyBjYW4gYmUgbWl4ZWRcbiAqIGluIGEgc2luZ2xlIGFycmF5IHdpdGhvdXQgYnJhbmNoaW5nLlxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgQ1NTIGNsYXNzIHRvIGFwcGx5LlxuICogQHBhcmFtIHZpc2libGUgLSBXaGVuIGB0cnVlYCAodGhlIGRlZmF1bHQpIHRoZSBjbGFzcyBpcyByZXR1cm5lZDsgYW55IG90aGVyXG4gKiAgIHZhbHVlIHByb2R1Y2VzIGB1bmRlZmluZWRgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogYXBwZW5kKCdidXR0b24nLCB7XG4gKiAgIGNsYXNzZXM6IFtcbiAqICAgICAnYnRuJyxcbiAqICAgICBjc3NDbGFzcygnYnRuLS1hY3RpdmUnLCBpc0FjdGl2ZSksXG4gKiAgICAgY3NzQ2xhc3MoJ2J0bi0tZGlzYWJsZWQnLCBpc0Rpc2FibGVkKSxcbiAqICAgXSxcbiAqIH0pXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNzc0NsYXNzKGNsYXNzTmFtZTogc3RyaW5nKTogQ3NzQ2xhc3NcbmV4cG9ydCBmdW5jdGlvbiBjc3NDbGFzcyhjbGFzc05hbWU6IHN0cmluZywgdmlzaWJsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQpOiBDc3NDbGFzc1xuZXhwb3J0IGZ1bmN0aW9uIGNzc0NsYXNzKGNsYXNzTmFtZTogQ3NzQ2xhc3MpOiBDc3NDbGFzc1xuZXhwb3J0IGZ1bmN0aW9uIGNzc0NsYXNzKGNsYXNzTmFtZTogQ3NzQ2xhc3MsIHZpc2libGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkKTogQ3NzQ2xhc3NcbmV4cG9ydCBmdW5jdGlvbiBjc3NDbGFzcyhjbGFzc05hbWU6IENzc0NsYXNzLCB2aXNpYmxlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHRydWUpOiBDc3NDbGFzcyB7XG5cdGlmICh2aXNpYmxlICE9PSB0cnVlKSByZXR1cm5cblx0cmV0dXJuIGNsYXNzTmFtZVxufVxuIiwidHlwZSBTdHJpcEFyaWE8UyBleHRlbmRzIHN0cmluZz4gPSBTIGV4dGVuZHMgYGFyaWEke2luZmVyIFJlc3R9YCA/IFVuY2FwaXRhbGl6ZTxSZXN0PiA6IFNcblxudHlwZSBBcmlhU3RyaW5nUHJvcGVydGllcyA9IHtcblx0W1AgaW4ga2V5b2YgQVJJQU1peGluIGFzIEFSSUFNaXhpbltQXSBleHRlbmRzIHN0cmluZyB8IG51bGwgPyBTdHJpcEFyaWE8c3RyaW5nICYgUD4gOiBuZXZlcl0/OiBzdHJpbmcgfCBudWxsXG59XG5cbi8vIFByb3BlcnRpZXMgdGhhdCBvbmx5IGV4aXN0IGFzIEVsZW1lbnRbXSBpbiBBUklBTWl4aW4g4oCUIGFjY2VwdHMgYSBzdHJpbmcgSUQgb3IgYW4gRWxlbWVudCBkaXJlY3RseVxudHlwZSBBcmlhSWRSZWZlcmVuY2VQcm9wZXJ0aWVzID0ge1xuXHQvKioge0Bpbmhlcml0ZG9jIEFSSUFNaXhpblsnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50J119ICovXG5cdGFjdGl2ZURlc2NlbmRhbnQ/OiBzdHJpbmcgfCBFbGVtZW50IHwgbnVsbFxuXHQvKioge0Bpbmhlcml0ZG9jIEFSSUFNaXhpblsnYXJpYUNvbnRyb2xzRWxlbWVudHMnXX0gKi9cblx0Y29udHJvbHM/OiBzdHJpbmcgfCBFbGVtZW50IHwgbnVsbFxuXHQvKioge0Bpbmhlcml0ZG9jIEFSSUFNaXhpblsnYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMnXX0gKi9cblx0ZGVzY3JpYmVkQnk/OiBzdHJpbmcgfCBFbGVtZW50IHwgbnVsbFxuXHQvKioge0Bpbmhlcml0ZG9jIEFSSUFNaXhpblsnYXJpYURldGFpbHNFbGVtZW50cyddfSAqL1xuXHRkZXRhaWxzPzogc3RyaW5nIHwgRWxlbWVudCB8IG51bGxcblx0LyoqIHtAaW5oZXJpdGRvYyBBUklBTWl4aW5bJ2FyaWFFcnJvck1lc3NhZ2VFbGVtZW50cyddfSAqL1xuXHRlcnJvck1lc3NhZ2U/OiBzdHJpbmcgfCBFbGVtZW50IHwgbnVsbFxuXHQvKioge0Bpbmhlcml0ZG9jIEFSSUFNaXhpblsnYXJpYUZsb3dUb0VsZW1lbnRzJ119ICovXG5cdGZsb3dUbz86IHN0cmluZyB8IEVsZW1lbnQgfCBudWxsXG5cdC8qKiB7QGluaGVyaXRkb2MgQVJJQU1peGluWydhcmlhTGFiZWxsZWRCeUVsZW1lbnRzJ119ICovXG5cdGxhYmVsbGVkQnk/OiBzdHJpbmcgfCBFbGVtZW50IHwgbnVsbFxuXHQvKioge0Bpbmhlcml0ZG9jIEFSSUFNaXhpblsnYXJpYU93bnNFbGVtZW50cyddfSAqL1xuXHRvd25zPzogc3RyaW5nIHwgRWxlbWVudCB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgQXJpYSA9IEFyaWFTdHJpbmdQcm9wZXJ0aWVzICYgQXJpYUlkUmVmZXJlbmNlUHJvcGVydGllc1xuXG5jb25zdCBhcmlhSWRSZWZlcmVuY2VBdHRyaWJ1dGVzOiBSZWNvcmQ8a2V5b2YgQXJpYUlkUmVmZXJlbmNlUHJvcGVydGllcywgc3RyaW5nPiA9IHtcblx0YWN0aXZlRGVzY2VuZGFudDogJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsXG5cdGNvbnRyb2xzOiAnYXJpYS1jb250cm9scycsXG5cdGRlc2NyaWJlZEJ5OiAnYXJpYS1kZXNjcmliZWRieScsXG5cdGRldGFpbHM6ICdhcmlhLWRldGFpbHMnLFxuXHRlcnJvck1lc3NhZ2U6ICdhcmlhLWVycm9ybWVzc2FnZScsXG5cdGZsb3dUbzogJ2FyaWEtZmxvd3RvJyxcblx0bGFiZWxsZWRCeTogJ2FyaWEtbGFiZWxsZWRieScsXG5cdG93bnM6ICdhcmlhLW93bnMnLFxufVxuXG4vLyBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgaXMgc2luZ3VsYXI7IHRoZSByZXN0IHRha2UgRWxlbWVudFtdXG5jb25zdCBhcmlhSWRSZWZlcmVuY2VFbGVtZW50UHJvcGVydGllczogUmVjb3JkPGtleW9mIEFyaWFJZFJlZmVyZW5jZVByb3BlcnRpZXMsIHN0cmluZz4gPSB7XG5cdGFjdGl2ZURlc2NlbmRhbnQ6ICdhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQnLFxuXHRjb250cm9sczogJ2FyaWFDb250cm9sc0VsZW1lbnRzJyxcblx0ZGVzY3JpYmVkQnk6ICdhcmlhRGVzY3JpYmVkQnlFbGVtZW50cycsXG5cdGRldGFpbHM6ICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcblx0ZXJyb3JNZXNzYWdlOiAnYXJpYUVycm9yTWVzc2FnZUVsZW1lbnRzJyxcblx0Zmxvd1RvOiAnYXJpYUZsb3dUb0VsZW1lbnRzJyxcblx0bGFiZWxsZWRCeTogJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuXHRvd25zOiAnYXJpYU93bnNFbGVtZW50cycsXG59XG5cbmZ1bmN0aW9uIHNldFByb3BlcnR5KGVsZW1lbnQ6IEVsZW1lbnQsIGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuXHQoZWxlbWVudCBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtrZXldID0gdmFsdWVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQXJpYVByb3BlcnRpZXMoYXJpYTogQXJpYSB8IHVuZGVmaW5lZCwgZWxlbWVudDogRWxlbWVudCk6IHZvaWQge1xuXHRpZiAoIWFyaWEpIHJldHVyblxuXHRmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhcmlhKSkge1xuXHRcdGlmICghKGtleSBpbiBhcmlhSWRSZWZlcmVuY2VBdHRyaWJ1dGVzKSkge1xuXHRcdFx0Y29uc3QgZG9tS2V5ID0gYGFyaWEke2tleVswXS50b1VwcGVyQ2FzZSgpfSR7a2V5LnNsaWNlKDEpfWBcblx0XHRcdHNldFByb3BlcnR5KGVsZW1lbnQsIGRvbUtleSwgdmFsdWUpXG5cdFx0XHRjb250aW51ZVxuXHRcdH1cblx0XHRpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0ZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXJpYUlkUmVmZXJlbmNlQXR0cmlidXRlc1trZXkgYXMga2V5b2YgQXJpYUlkUmVmZXJlbmNlUHJvcGVydGllc10pXG5cdFx0XHRjb250aW51ZVxuXHRcdH1cblx0XHRpZiAodmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50KSB7XG5cdFx0XHRjb25zdCBpZGxLZXkgPSBhcmlhSWRSZWZlcmVuY2VFbGVtZW50UHJvcGVydGllc1trZXkgYXMga2V5b2YgQXJpYUlkUmVmZXJlbmNlUHJvcGVydGllc11cblx0XHRcdHNldFByb3BlcnR5KGVsZW1lbnQsIGlkbEtleSwgaWRsS2V5LmVuZHNXaXRoKCdFbGVtZW50cycpID8gW3ZhbHVlXSA6IHZhbHVlKVxuXHRcdFx0Y29udGludWVcblx0XHR9XG5cdFx0ZWxlbWVudC5zZXRBdHRyaWJ1dGUoYXJpYUlkUmVmZXJlbmNlQXR0cmlidXRlc1trZXkgYXMga2V5b2YgQXJpYUlkUmVmZXJlbmNlUHJvcGVydGllc10sIHZhbHVlKVxuXHR9XG59XG4iLCJpbXBvcnQgeyBFbGVtZW50T25IYW5kbGVycyB9IGZyb20gJ0Byb290ZWQvZXZlbnRzJ1xuXG5pbXBvcnQgeyB0eXBlIEFyaWEsIGJ1aWxkQXJpYVByb3BlcnRpZXMgfSBmcm9tICcuL2FyaWEubXRzJ1xuaW1wb3J0IHsgQ3NzQ2xhc3NlcyB9IGZyb20gJy4vY2xhc3Nlcy5tdHMnXG5pbXBvcnQgeyBIdG1sRWxlbWVudFByb3BlcnRpZXMgfSBmcm9tICcuL2h0bWwtZWxlbWVudC1wcm9wZXJ0aWVzLm10cydcbmltcG9ydCB7IFN2Z0VsZW1lbnRQcm9wZXJ0aWVzLCBTdmdUYWdFbGVtZW50LCBTdmdUYWdOYW1lIH0gZnJvbSAnLi9zdmctZWxlbWVudC1wcm9wZXJ0aWVzLm10cydcblxuZnVuY3Rpb24gYnVpbGRPbkhhbmRsZXJzPFRFbGVtZW50IGV4dGVuZHMgRWxlbWVudD4oXG5cdG9uOiBFbGVtZW50T25IYW5kbGVyczxURWxlbWVudD4gfCB1bmRlZmluZWQsXG5cdGVsZW1lbnQ6IFRFbGVtZW50LFxuXHRzaWduYWw6IEFib3J0U2lnbmFsLFxuKTogdm9pZCB7XG5cdGlmICghb24pIHJldHVyblxuXHRmb3IgKGNvbnN0IFtrZXksIGhhbmRsZXJdIG9mIE9iamVjdC5lbnRyaWVzKG9uKSkge1xuXHRcdGlmICghaGFuZGxlcikgY29udGludWVcblx0XHRlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG5cdFx0XHRrZXksXG5cdFx0XHRldmVudCA9PiB2b2lkIChoYW5kbGVyIGFzIChldmVudD86IEV2ZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPikoZXZlbnQpLFxuXHRcdFx0c2lnbmFsID8geyBzaWduYWwgfSA6IHVuZGVmaW5lZCxcblx0XHQpXG5cdH1cbn1cblxuZnVuY3Rpb24gYnVpbGRDbGFzc0xpc3QoY2xhc3NlczogQ3NzQ2xhc3NlcyB8IHVuZGVmaW5lZCkge1xuXHRpZiAoY2xhc3NlcyA9PT0gbnVsbCB8fCBjbGFzc2VzID09PSB1bmRlZmluZWQpIHJldHVybiB7fVxuXHRpZiAoQXJyYXkuaXNBcnJheShjbGFzc2VzKSkgcmV0dXJuIHsgY2xhc3NOYW1lOiBjbGFzc2VzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykgfVxuXG5cdHJldHVybiB7IGNsYXNzTmFtZTogU3RyaW5nKGNsYXNzZXMpIH1cbn1cblxuZnVuY3Rpb24gaXNXcml0YWJsZURvbVByb3BlcnR5KGVsZW1lbnQ6IEVsZW1lbnQsIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdGxldCBwcm90bzogb2JqZWN0IHwgbnVsbCA9IGVsZW1lbnRcblx0d2hpbGUgKHByb3RvKSB7XG5cdFx0Y29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIGtleSlcblx0XHRpZiAoZGVzYykgcmV0dXJuICEhKGRlc2Mud3JpdGFibGUgfHwgZGVzYy5zZXQpXG5cdFx0cHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pIGFzIG9iamVjdCB8IG51bGxcblx0fVxuXHRyZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IHR5cGUgRWxlbWVudENyZWF0b3IgPSAoa2V5OiBzdHJpbmcsIG5zPzogc3RyaW5nKSA9PiBFbGVtZW50XG5cbi8qKlxuICogVGhlIG92ZXJsb2FkZWQgZnVuY3Rpb24gdHlwZSByZXR1cm5lZCBieSB7QGxpbmsgY3JlYXRlRWxlbWVudEZhY3Rvcnl9LlxuICogQWNjZXB0cyBIVE1MIG9yIFNWRyB0YWcgbmFtZXMgYW5kIHJldHVybnMgdGhlIG1hdGNoaW5nIGVsZW1lbnQgdHlwZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50Q3JlYXRvckZ1bmN0aW9uIHtcblx0KHRhZzogJ3N2ZycsIHByb3BlcnRpZXM/OiBTdmdFbGVtZW50UHJvcGVydGllczwnc3ZnJz4pOiBTVkdTVkdFbGVtZW50XG5cdDxLIGV4dGVuZHMgRXhjbHVkZTxTdmdUYWdOYW1lLCAnc3ZnJz4+KHRhZzogSywgcHJvcGVydGllcz86IFN2Z0VsZW1lbnRQcm9wZXJ0aWVzPEs+KTogU3ZnVGFnRWxlbWVudDxLPlxuXHQ8SyBleHRlbmRzIGtleW9mIEhUTUxFbGVtZW50VGFnTmFtZU1hcD4odGFnOiBLLCBwcm9wZXJ0aWVzPzogTm9JbmZlcjxIdG1sRWxlbWVudFByb3BlcnRpZXM8Sz4+KTogSFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tdXG59XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRGYWN0b3J5ID0gRWxlbWVudENyZWF0b3JGdW5jdGlvblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRGYWN0b3J5KGNvbnN0cnVjdEVsZW1lbnQ6IEVsZW1lbnRDcmVhdG9yLCBzaWduYWw6IEFib3J0U2lnbmFsKTogRWxlbWVudENyZWF0b3JGdW5jdGlvbiB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IEhUTUwgb3IgU1ZHIGVsZW1lbnQuIFRoZSBlbGVtZW50IGlzICoqbm90KiogYXBwZW5kZWQgdG8gdGhlXG5cdCAqIGRvY3VtZW50IGF1dG9tYXRpY2FsbHkuXG5cdCAqXG5cdCAqICoqSFRNTCBlbGVtZW50cyoqIOKAlCBwYXNzIGFueSB0YWcgZnJvbSBgSFRNTEVsZW1lbnRUYWdOYW1lTWFwYDpcblx0ICogYGBgdHNcblx0ICogZWxlbWVudCgnZGl2JywgeyBjbGFzc2VzOiAnY2FyZCcsIGNoaWxkcmVuOiBbLi4uXSB9KVxuXHQgKiBgYGBcblx0ICpcblx0ICogKipTVkcgZWxlbWVudHMqKiDigJQgdXNlIGAnc3ZnJ2AgZm9yIHRoZSByb290IGVsZW1lbnQsIG9yIHByZWZpeCBvdGhlciBTVkdcblx0ICogdGFncyB3aXRoIGAnc3ZnOidgIHRvIGF2b2lkIGNvbGxpc2lvbnMgd2l0aCBzYW1lLW5hbWVkIEhUTUwgdGFnczpcblx0ICogYGBgdHNcblx0ICogZWxlbWVudCgnc3ZnJywgeyB2aWV3Qm94OiAnMCAwIDI0IDI0JywgY2hpbGRyZW46IGVsZW1lbnQoJ3N2Zzp1c2UnLCB7IGhyZWY6IHVybCB9KSB9KVxuXHQgKiBgYGBcblx0ICpcblx0ICogKipgY2xhc3Nlc2AqKiDigJQgYWNjZXB0cyBhIHNpbmdsZSBjbGFzcyBzdHJpbmcgb3IgYSB7QGxpbmsgQ3NzQ2xhc3Nlc30gYXJyYXk7XG5cdCAqIGZhbHN5IGVudHJpZXMgYXJlIGZpbHRlcmVkIG91dCBhdXRvbWF0aWNhbGx5LlxuXHQgKlxuXHQgKiAqKkRPTSBwcm9wZXJ0eSBuYW1lcyoqIOKAlCBmb3IgSFRNTCBlbGVtZW50cywgb3RoZXIgcHJvcGVydGllcyBhcmUgc2V0IHZpYVxuXHQgKiBgT2JqZWN0LmFzc2lnbmAgYW5kIG11c3QgdXNlIERPTSBwcm9wZXJ0eSBuYW1lcywgbm90IEhUTUwgYXR0cmlidXRlIG5hbWVzOlxuXHQgKiB8IEhUTUwgYXR0cmlidXRlIHwgRE9NIHByb3BlcnR5IHxcblx0ICogfC0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS18XG5cdCAqIHwgYGZvcmAgICAgICAgICAgfCBgaHRtbEZvcmAgICAgfFxuXHQgKiB8IGByZWFkb25seWAgICAgIHwgYHJlYWRPbmx5YCAgIHxcblx0ICpcblx0ICogRm9yIFNWRyBlbGVtZW50cywgd3JpdGFibGUgRE9NIHByb3BlcnRpZXMgYXJlIHNldCBkaXJlY3RseTsgYW55dGhpbmcgZWxzZVxuXHQgKiAoZS5nLiBgdmlld0JveGAsIGBocmVmYCkgZmFsbHMgYmFjayB0byBgc2V0QXR0cmlidXRlYCBhdXRvbWF0aWNhbGx5LlxuXHQgKlxuXHQgKiAqKkNoaWxkcmVuKiog4oCUIHBhc3MgYSBzaW5nbGUgYE5vZGVgIG9yIGFuIGFycmF5IG9mIGBOb2RlYHMgdmlhIHRoZVxuXHQgKiBgY2hpbGRyZW5gIHByb3BlcnR5OyB0aGV5IGFyZSBhcHBlbmRlZCBpbiBvcmRlci5cblx0ICpcblx0ICogKipFdmVudCBsaXN0ZW5lcnMqKiDigJQgdXNlIHRoZSBgb25gIHByb3Agd2l0aCBhbiBvYmplY3Qgb2YgZXZlbnQgaGFuZGxlcnMuXG5cdCAqIExpc3RlbmVycyBhcmUgYXV0b21hdGljYWxseSByZW1vdmVkIHdoZW4gdGhlIGNvbXBvbmVudCB1bm1vdW50cy5cblx0ICpcblx0ICogKipBUklBKiog4oCUIHVzZSB0aGUgYGFyaWFgIHByb3AgZm9yIEFSSUEgYXR0cmlidXRlcy4gQWNjZXB0cyBzdHJpbmcgSURzIG9yXG5cdCAqIGBFbGVtZW50YCByZWZlcmVuY2VzIGZvciBJREwgcmVmbGVjdGlvbiBwcm9wZXJ0aWVzLlxuXHQgKlxuXHQgKiBAZXhhbXBsZVxuXHQgKiBgYGB0c1xuXHQgKiBjb25zdCBkaXYgPSBlbGVtZW50KCdkaXYnLCB7XG5cdCAqICAgY2xhc3NlczogJ2NhcmQnLFxuXHQgKiAgIGFyaWE6IHsgbGFiZWw6ICdDYXJkJywgbGFiZWxsZWRCeTogaGVhZGluZ0VsIH0sXG5cdCAqICAgY2hpbGRyZW46IFtcblx0ICogICAgIGVsZW1lbnQoJ2gyJywgeyB0ZXh0Q29udGVudDogJ1RpdGxlJyB9KSxcblx0ICogICAgIGVsZW1lbnQoJ3AnLCAgeyB0ZXh0Q29udGVudDogJ0JvZHknICB9KSxcblx0ICogICBdLFxuXHQgKiB9KVxuXHQgKlxuXHQgKiBjb25zdCBpY29uID0gZWxlbWVudCgnc3ZnJywge1xuXHQgKiAgIHZpZXdCb3g6ICcwIDAgMjQgMjQnLFxuXHQgKiAgIGFyaWE6IHsgaGlkZGVuOiAndHJ1ZScgfSxcblx0ICogICBjaGlsZHJlbjogZWxlbWVudCgnc3ZnOnVzZScsIHsgaHJlZjogc3ByaXRlVXJsIH0pLFxuXHQgKiB9KVxuXHQgKiBgYGBcblx0ICovXG5cdGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodGFnOiAnc3ZnJywgcHJvcGVydGllcz86IFN2Z0VsZW1lbnRQcm9wZXJ0aWVzPCdzdmcnPik6IFNWR1NWR0VsZW1lbnRcblx0ZnVuY3Rpb24gY3JlYXRlRWxlbWVudDxLIGV4dGVuZHMgRXhjbHVkZTxTdmdUYWdOYW1lLCAnc3ZnJz4+KHRhZzogSywgcHJvcGVydGllcz86IFN2Z0VsZW1lbnRQcm9wZXJ0aWVzPEs+KTogU3ZnVGFnRWxlbWVudDxLPlxuXHRmdW5jdGlvbiBjcmVhdGVFbGVtZW50PEtFbGVtZW50IGV4dGVuZHMga2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwPih0YWc6IEtFbGVtZW50LCBwcm9wZXJ0aWVzPzogTm9JbmZlcjxIdG1sRWxlbWVudFByb3BlcnRpZXM8S0VsZW1lbnQ+Pik6IEhUTUxFbGVtZW50VGFnTmFtZU1hcFtLRWxlbWVudF1cblx0ZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0YWc6IHN0cmluZywgcHJvcGVydGllcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogRWxlbWVudCB7XG5cdFx0aWYgKHRhZyA9PT0gJ3N2ZycgfHwgdGFnLnN0YXJ0c1dpdGgoJ3N2ZzonKSkge1xuXHRcdFx0Y29uc3QgYWN0dWFsVGFnID0gdGFnID09PSAnc3ZnJyA/ICdzdmcnIDogdGFnLnNsaWNlKDQpXG5cdFx0XHRjb25zdCB7IGNsYXNzZXMsIGNoaWxkcmVuLCBhcmlhLCBvbiwgc3R5bGUsIC4uLmF0dHJpYnV0ZXMgfSA9IHByb3BlcnRpZXMgPz8ge31cblx0XHRcdGNvbnN0IG5ld0VsZW1lbnQgPSBjb25zdHJ1Y3RFbGVtZW50KGFjdHVhbFRhZywgJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJykgYXMgU1ZHRWxlbWVudFxuXG5cdFx0XHRmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKSkge1xuXHRcdFx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkgY29udGludWVcblx0XHRcdFx0aWYgKGlzV3JpdGFibGVEb21Qcm9wZXJ0eShuZXdFbGVtZW50LCBrZXkpKSB7XG5cdFx0XHRcdFx0OyhuZXdFbGVtZW50IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2tleV0gPSB2YWx1ZVxuXHRcdFx0XHR9XG5cdFx0XHRcdGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuXHRcdFx0XHRcdG5ld0VsZW1lbnQuc2V0QXR0cmlidXRlKGtleSwgU3RyaW5nKHZhbHVlKSlcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB7IGNsYXNzTmFtZSB9ID0gYnVpbGRDbGFzc0xpc3QoY2xhc3NlcyBhcyBDc3NDbGFzc2VzIHwgdW5kZWZpbmVkKVxuXHRcdFx0aWYgKGNsYXNzTmFtZSkgbmV3RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgY2xhc3NOYW1lKVxuXG5cdFx0XHRpZiAoc3R5bGUpIE9iamVjdC5hc3NpZ24obmV3RWxlbWVudC5zdHlsZSwgc3R5bGUpXG5cdFx0XHRidWlsZEFyaWFQcm9wZXJ0aWVzKGFyaWEgYXMgQXJpYSB8IHVuZGVmaW5lZCwgbmV3RWxlbWVudClcblx0XHRcdGJ1aWxkT25IYW5kbGVycyhvbiBhcyBFbGVtZW50T25IYW5kbGVyczxFbGVtZW50PiB8IHVuZGVmaW5lZCwgbmV3RWxlbWVudCwgc2lnbmFsKVxuXG5cdFx0XHRhcHBlbmRDaGlsZHJlbihuZXdFbGVtZW50LCBjaGlsZHJlbiBhcyBBcnJheTxOb2RlIHwgc3RyaW5nPiB8IE5vZGUgfCBzdHJpbmcgfCB1bmRlZmluZWQpXG5cblx0XHRcdHJldHVybiBuZXdFbGVtZW50XG5cdFx0fVxuXG5cdFx0Y29uc3QgeyBhcmlhLCBjaGlsZHJlbiwgY2xhc3Nlcywgb24sIHN0eWxlLCAuLi5hc3NpZ25hYmxlUHJvcGVydGllcyB9ID0gcHJvcGVydGllcyA/PyB7fVxuXHRcdGNvbnN0IGRlZmluZWRQcm9wZXJ0aWVzID0gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdFxuXHRcdFx0LmVudHJpZXMoYXNzaWduYWJsZVByb3BlcnRpZXMpXG5cdFx0XHQuZmlsdGVyKChbLCB2XSkgPT4gdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09IG51bGwpLFxuXHRcdClcblx0XHRjb25zdCBuZXdFbGVtZW50ID0gT2JqZWN0LmFzc2lnbihcblx0XHRcdGNvbnN0cnVjdEVsZW1lbnQodGFnKSBhcyBIVE1MRWxlbWVudCxcblx0XHRcdGRlZmluZWRQcm9wZXJ0aWVzLFxuXHRcdFx0YnVpbGRDbGFzc0xpc3QoY2xhc3NlcyBhcyBDc3NDbGFzc2VzIHwgdW5kZWZpbmVkKSxcblx0XHQpXG5cblx0XHRpZiAoc3R5bGUpIE9iamVjdC5hc3NpZ24obmV3RWxlbWVudC5zdHlsZSwgc3R5bGUpXG5cdFx0YnVpbGRBcmlhUHJvcGVydGllcyhhcmlhIGFzIEFyaWEgfCB1bmRlZmluZWQsIG5ld0VsZW1lbnQpXG5cdFx0YnVpbGRPbkhhbmRsZXJzKG9uIGFzIEVsZW1lbnRPbkhhbmRsZXJzPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCwgbmV3RWxlbWVudCwgc2lnbmFsKVxuXHRcdGFwcGVuZENoaWxkcmVuKG5ld0VsZW1lbnQsIGNoaWxkcmVuIGFzIEFycmF5PE5vZGUgfCBzdHJpbmc+IHwgTm9kZSB8IHN0cmluZyB8IHVuZGVmaW5lZClcblxuXHRcdHJldHVybiBuZXdFbGVtZW50XG5cdH1cblxuXHRyZXR1cm4gY3JlYXRlRWxlbWVudCBhcyB1bmtub3duIGFzIEVsZW1lbnRDcmVhdG9yRnVuY3Rpb25cbn1cblxuZnVuY3Rpb24gYXBwZW5kQ2hpbGRyZW4oZWxlbWVudDogRWxlbWVudCwgY2hpbGRyZW46IEFycmF5PE5vZGUgfCBzdHJpbmc+IHwgTm9kZSB8IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuXHRpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcblx0XHRmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG5cdFx0XHRlbGVtZW50LmFwcGVuZChjaGlsZClcblx0XHR9XG5cdH1cblx0ZWxzZSBpZiAoY2hpbGRyZW4pIHtcblx0XHRlbGVtZW50LmFwcGVuZChjaGlsZHJlbilcblx0fVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rooted/elements",
3
- "version": "1.0.0-alpha.3",
3
+ "version": "1.0.0-alpha.5",
4
4
  "description": "rooted — html element utilities",
5
5
  "keywords": [
6
6
  "web-components",
@@ -50,11 +50,11 @@
50
50
  "extract-api": "rooted-development extract-api"
51
51
  },
52
52
  "peerDependencies": {
53
- "@rooted/events": "1.0.0-alpha.4"
53
+ "@rooted/events": "1.0.0-alpha.6"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@rooted/development": "workspace:*",
57
- "@rooted/events": "1.0.0-alpha.4",
57
+ "@rooted/events": "1.0.0-alpha.6",
58
58
  "tsx": "^4.19.0"
59
59
  }
60
60
  }